본문 바로가기

전체 글

(69)
C++ 콜백함수 콜백함수 란 프로그래밍에서 콜백(callback) 또는 콜애프터 함수(call-after function)[1]는 다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 말한다. 콜백을 넘겨받는 코드는 이 콜백을 필요에 따라 즉시 실행할 수도 있고, 아니면 나중에 실행할 수도 있다. ko.wikipedia.org/wiki/%EC%BD%9C%EB%B0%B1 콜백 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 프로그래밍에서 콜백(callback) 또는 콜애프터 함수(call-after function)[1]는 다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 말한다. 콜백을 넘겨받는 코드는 이 ko.wikipedia.org 콜백함수를 이용하여 함수포인터와 횟수를던져주면해당 횟수만큼 함수를 ..
D3D 그래픽디바이스(LPD3DXFONT, D3DXFONT_DESCW ,D3DXCreateFontIndirect, DrawTextW()) LPD3DXFONT D3D에서 문자를 출력하기 위한 com객체이다. 지정한 장치와폰트를 렌더링 하기 위해서 필요한 텍스처와 리소스를 캡슐화 하기 위해서 사용한다. https://docs.microsoft.com/en-us/windows/win32/direct3d9/id3dxfont ID3DXFont interface (D3dx9core.h) - Win32 apps ID3DXFont interface In this article --> The ID3DXFont interface encapsulates the textures and resources needed to render a specific font on a specific device. Members The ID3DXFont interface in..
C++ STL(Map) Map이란 Key값과 Value값을가지고있는 Red-Black Tree의 자료구조이다. Map의 특징 1. Map은 가지고 있는 값을 정렬한다. 2. 중첩된 key 값을 가질 수 없다. 3. 저장할 자료가 적을 때는 메모리 낭비와 오버헤드가 일어난다. Map의 정의 및 삽입 1 2 3 4 5 6 7 8 9 10 void main() { map m; pair p("A", 10); m.insert(p); m.insert(pair("B", 20)); cout
C++ STL(알고리즘) 알고리즘 이란? 전역함 수로 선언된 컨테이너들의 작업을 도와주는 여러 가지 기능들이 정의되어 있는 라이브러리이다. 정렬알고리즘 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 template bool Less(T _Dst, T _Src) { return _Dst
C++ STL(반복자 iterator) 반복자 iterator란? 컨테이너를 순회하는 방법 반복자는 객체이다. iterator 순회 출력 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 void main() { vector vecint; vecint.push_back(10); vecint.push_back(20); vecint.push_back(30); vector::iterator iter_begin = vecint.begin(); vector::iterator iter_end = vecint.end(); for (; iter_begin != iter_end; iter_begin++) { cout
C++ STL(Vector) Vector란? 배열기반의 컨테이너로 메모리가 자동으로 heap에 할당되는 배열이다. Vector의 특징 vector는 배열 기반으로 이뤄져 있기 때문에 삽입 삭제가 배열의 맨 뒤에서만 이루어진다. 중간부터의 삭제도 가능하지만 중간의 삽입 삭제 경우에는 삽이 한 위치에서부터 모든 배열을 뒤로 미루거나 삭제 시에는 모든 배열을 앞으로 당겨줘야 하는 문제가 존재하여 성능상 비효율적이다. 할당 메모리 이상의 데이터 값을 넣을 때는 복사 할당이 이루어진다. 메모리가 이상의 값이 들어올 경우에는 현재의 메모리의 1.5배 크기의 메모리를 동적할당하여 해당 동적할당 값에 값을 복사하게 된다. vector의 선언과 삽입 삭제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 void ma..
C++ 템플릿(template) template이란? 함수나 클래스를 개별적으로 다시 작성하지 않아도, 여러 자료 형으로 사용할 수 있도록 하게 만들어 놓은 틀. template은 코드 라인 단계에서 자료형이 정해진다. 함수 템플릿 템플릿 선언 방법은 template 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class templateTest { public: template T Sum(T value1, T value2) { return value1 + value2; } }; void main() { templateTest test; test.Sum(10, 10); test.Sum(10, 10); } cs 4행 : 템플릿의 선언 5행 : 반환형과 매개변수의 인자를 템플릿으로 받는다. 14행 : 템플릿의 자료형..
C++ 함수객체 함수객체란? 함수 호출 연산자를 연산자 오버로딩하여 객체를 함수처럼 사용하는방법이다 함수객체 사용방법 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class CObj { public: int operator()(int _a, int _b) { return _a + _b; } }; void main() { CObj functor; cout