일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- InputManager
- C++
- 네트워크 게임 프로그래밍
- 노멀 맵핑
- gitlab
- DirectX
- direct3d
- 게임 프로그래밍
- 게임 디자인 패턴
- effective C++
- 장치 초기화
- light
- gitscm
- 디퍼드 렌더링
- 동적 색인화
- Direct3D12
- 게임 클래스
- TCP/IP
- Frustum Culling
- Dynamic Indexing
- 입방체 매핑
- 네트워크
- Render Target
- 직교 투영
- FrameResource
- Deferred Rendering
- 큐브 매핑
- 절두체 컬링
- 조명 처리
- DirectX12
- Today
- Total
목록C++ Study (3)
코승호딩의 메모장
13 자원 관리에는 객체가 그만! class Investment { }; Investment* CreateInvestment(); 다음과 같이 투자를 모델링해 주는 클래스 라이브러리를 가지고 어떤 작업을 한다고 가정하자. Investment라는 최상위 클래스가 있고, 이것을 기본으로 하여 구체적인 형태의 투자 클래스가 파생되어 있다. 그리고 파생된 클래스의 객체를 사용자가 얻어내는 용도인 팩토리 함수가 있다. 만약 CreateInvestment를 통해 얻응 객체를 사용할 일이 없을 때, 그 객체를 삭제해야 하는 쪽은 이 함수의 호출자이다. void f() { Investment* pInv = CreateInvestment(); // ... delete pInv; } 멀쩡해 보이지만, 객체의 삭제가 실패할..
05 C++가 은근슬쩍 만들어 호출해 버리는 함수들에 촉각을 세우자 C++의 어떤 멤버 함수는 클래스 안에 직접 선언하지 않으면 컴파일러가 저절로 선언해 주도록 되어 있다. 복사 생성자, 복사 대입 연산자, 생성자, 소멸자 등이 그렇다. template class NamedObject { public: NamedObject(const char* name, const T& value); NamedObject(const string& name, const T& value); private: string nameValue; T objectValue; }; 위 코드에서 NamedObject 템플릿 안에는 생성자가 선언되어 있으므로 컴파일러는 기본 생성자를 만들어내지 않는다. 반면, 복사 생성자, 복사 대입 연산..
이번 포스팅에서는 스콧 마이어스의 Effective C++ 책을 읽고 공부한 내용을 정리하고자 합니다. 저자에 따르면 이 책은 C++ 행동강령이나 유일한 참된 덕목이 아닌 프로그램을 지금보다 더 낫게 만들기 위한 지침을 제공하는 것이라고 합니다. 따라서 이 책에서 습득할 수 있는 내용은 프로그램의 근본원리를 이해하는 것이고 자신에게 어떤 용도에 어떻게 써먹을 수 있는지에 초점을 두어야 합니다. Effective C++ : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 01 C++를 언어들의 연합체로 바라보는 안목은 필수 오늘날의 C++은 다중패러다임 프로그래밍 언어라고 불린다. 절차적 프로그래밍을 기본으로 객체 지향, 함수식, 일반화, 메타프로그래밍 개념까..