본문 바로가기

C++3

Programmers - 대소문자 바꿔서 출력하기 #include #include using namespace std; int main(void) { string str; cin >> str; int asciiDiff = 'a' - 'A'; for (int i = 0; i < str.size(); i++) { if (str[i] < 'a') { str[i] += asciiDiff; } else { str[i] -= asciiDiff; } cout 2023. 11. 1.
2-1. DirectX 11 장치 초기화 (COM) 2장에서 나의 목표는 아래와 같다. 3차원 그래픽 하드웨어의 프로그래밍에서 Direct3D의 역할을 개괄적으로 이해한다. Direct3D에서 COM의 역할을 이해한다. 2차원 이미지의 저장 방식, 페이지 전환, 깊이 버퍼링, 다중 표본화 같은 기초 그래픽 개념들을 배운다. 성능 카운터 함수들을 이용해서 고해상도 타이머 값을 얻는 방법을 배운다. Direct3D를 초기화하는 방법을 파악한다. COM (Component Object Model) COM은 DirectX의 프로그래밍 언어 독립성과 하위 호환성을 가능하게 하는 기술이다. 프로그래머가 알아야 할 것은 필요한 COM 인터페이스로의 포인터를 특별한 함수들 또는 다른 COM 인터페이스의 메서드를 이용해서 얻는 방법뿐이다. COM 인터페이스는 C++의 n.. 2023. 8. 20.
Stub Parameters - 변수명이 없는 매개변수 서버 코드를 분석하다가 변수명이 없는 매개변수를 가진 함수를 보게되었다. template auto GetImpl(TValue *) -> TValue; 함수가 구현된 것을 보아도 왜 쓰이는지 이해가 되지 않았다. 찾아보니 이런식으로 사용되는 매개변수를 Stub Parameters라고 부른다. auto GetRectArea(int height, int width) -> int { return height * width; } auto GetTriArea(int height, int width) -> int { return height * width / 2; } 다른 블로그에서 이런 식으로 예를 많이 든다. 사각형의 넓이를 구하는 함수와 삼각형 넓이를 구하는 함수의 이름을 GetArea로 통일하고 싶을 때 St.. 2022. 9. 15.