본문 바로가기

Programming/C / C++5

단일체 (Singleton) 코드 #include template class Singleton { static T* ms_Singleton; public: Singleton( void ) { assert( !ms_Singleton ); int offset = (int)(T*)1 - (int)(Singleton *)(T*)1; ms_Singleton = (T*)((int)this + offset); } ~Singleton( void ) { assert( ms_Singleton); ms_Singleton = 0; } static T& GetSingleton( void ) { assert( ms_Singleton ); return ( *ms_Singleton ); } static T* GetSingletonPtr( void ) { return.. 2008. 7. 5.
const 키워드의 의미 const 키워드의 용도는 변수를 상수화 시키기 위해 사용 한다. - const int n = 10; n 은 변수이나 const 키워드를 붙여줌으로 상수화 되었다. 따라서 n에 다른 값을 대입하는 것은 허용되지 않는다. - const int* n; 데이터 상수화. n이라는 포인터가 가르키는 값을 상수화 시킨다. - int* const n; 포인터 상수화. n이 가르키는 포인터를 상수화 시킨다. - const int* const n; 데이터와 포인터 상수화. 2008. 5. 28.
동적할당을 통한 행열의 곱셈, 역행열, 전치행열 구하기 운화형의 세미나 과제로 동적할당을 통한 행렬의 곱셈, 역행렬, 전치행렬을 구하는 프로그램을 만들어 봤다. 전체적인 프로그램의 흐름은 다음과 같다. CMatrixMgr::ModeSelect 를 통하여 행렬의 곱, 역행렬, 전치행렬 중 어떠한 작업을 할 것인지 입력을 받는다. 그리고 CMatrixMgr::Run을 호출하여 행렬의 크기를 설정하는 CMatrix::SetArray, 행렬의 값을 입력 받는 CMatrix::InputMatrix, 계산을 수행하는 CMatrix::Calculation, 결과를 출력하는 CMatrix::Result 를 차례로 호출한다. CMatrix 클래스는 역행렬 관련 클래스인 CMatrixInverse, 행렬의 곱셈 관련 클래스인 CMatrixMultiply, 전치행렬 관련 클래스.. 2007. 11. 23.
ASSERT, VERIFY, TRACE 출처 : www.sprite3d.net MFC가 아닌 응용프로그램에서 ASSERT(), VERIFY(), TRACE() 사용하기 by Gabriel Fleseriu 원문 : http://www.gamedev.net/reference/articles/article1846.asp 번역 : conaman(conaman@spirit3d.net) C++ 로 게임 개발을 해 올 때 몇몇 사람들이 MFC를 사용하기로 결정을 했습니다 늘 저는 ASSERT(), VERIFY(), TRACE() 매크로들의 유익함을 발견합니다 그래서 저는 윈도우 플랫폼을 위한 어떤 프로젝트에서든지 작업할 수 있도록 제 자신의 버전을 만들기로 했습니다. 약간 생각하게 하는 것들: ASSERT()는 값이 0이면 실행을 멈추도록 하기 위해 매개.. 2007. 1. 31.
[C++] typedef typedef// ***************** // typedef 예약어 사용 예 #include typedef unsigned short int USHORT; // typedef로 정의된다.int main() { using std::cout; using std::endl; USHORT Width = 5; USHORT Length; Length = 10; USHORT Area = Width * Length; cout 2006. 11. 2.