Loading...

EC++ 2. define 대신 const, enum, inline 쓰기

const에 대한 이야기 나는 싱글톤을 쓰면서 항상 아래와 같은 방식으로 설정했다. #define g_pDevice MgDevice::GetInstance() 그래서 편리하게 g_pDevice를 마치 변수처럼 사용할 수 있었다. 하지만 이를 const로 바꾸면서 하나를 알게 되었다. const MgDevice* const g_pDevice = MgDevice::GetInstance(); 처음 생각은 이 클래스를 가리키는 g_pDevice 변수(define처럼 매크로가 아닌)는 값도 가리키는 클래스도 바뀌지 않고 주소도 바뀌지 않을 거라 생각해서 위와 같이 하였다. const로 바꾸고자 했던 이유는 define는 기호 테이블에 이름이 들어가지 않으며 컴파일러에서도 에러체크를 해주기 때문이다. 게다가 def..

음수의 비트연산

int a = -15, b = -20; int c = a & b; -15를 음수로 하면 0000 1111 을 1보수 해서 1111 0000 그다음 2의보수 1111 0001 이값이 되는 건가요? => 네 맞습니다. 그런데 쓰시는 컴파일러 int가 32비트아닌가요? 그러면 11111111 11111111 11111111 11110001 이네요 그러하면 -20은 0001 0100 을 1보수 해서 1110 1011 그다음 2의 보수 1110 1100이렇게 되고 => 역시 정확하게 하면 11111111 11111111 11111111 11101100 이네요 이걸 and연산하는거 맞는지.. 1111 0001 & 1110 1100 1110 0000 이거 나오는게 맞는지요 그러다면 => 맞습니다 32비트로 하면 다음..

2009. 7. 26. 23:48

vld 사용법

첨부파일 : 첨부파일 내용 설치 방법 1. 라이브러리 파일(vld.lib, vldmt.lib, vldmtdll.lib)을 C:\Program Files\Microsoft Visual Studio\VC98\Lib 에 복사한다. 2. 헤더 파일(vld.h, vldapi.h)을 C:\Program Files\Microsoft Visual Studio\VC98\Include 에 복사한다. 3. 프로그램이 시작하는 소스 파일 (App.h나 main함수가 있는 파일)에 vld.h 파일을 포함한다. #include "vld.h" 을 최상위 라인에 적는다. 단, stdafx.h 파일을 포함할 경우, 그 다음 라인에 적는다. 4. 만약 운영 프로그램이 Windows2000 또는 이하 버전이라면 dbghelp.dll 파일..

How to Use __declspec(dllexport) in an MFC Extension DLL

이 기사의 정보는 다음에 적용된다 : 다음을 포함하는 Microsoft Foundation Classes(MFC) : Microsoft Visual C++, 32bit Edition, 버전 2.0, 2.1, 4.0 SUMMARY 이 기사는 MFC 기술노트 #33을 보충한다. 그것은 약간의 중복된 정보, 약간의 수정을 포함하며, 클래스와 멤버를 확장 DLL로부터 익스포트하기 위해 도움을 주는 보충 정보들을 제공한다. MORE INFORMATION 확장 DLL 생성하기 MFC Extension DLL 프로젝트를 생성하기 위해 AppWizard를 사용할 수 있으며, 그것은 자동으로 적절한 컴파일러와 링커 설정을 생성한다. 더 세부적인 정보를 원한다면 AppWizard entry in the MFC Encyco..

2009. 7. 23. 19:46

포기를 모르는 불꽃같은 남자.

이 사진의 포스는 언제봐도 여전하군. "끊임없이 시도하라. 그리고 절대 포기하지 마라"

stl set

내가 애용하려는 C++ 라이브러리 중 STL 이란 것이 있다. 어찌보면 C++ 의 꽃이라고도 할 수 있는 이 라이브러리 중 내가 주로 쓰는 것은 vector 와 map 타입인데, 가끔 이것들이 가진 데이터의 중복허용이라는 기능상 제한으로 인해 곤란할 때가 있다. 이를 위해 해결책으로 set 이란 타입을 사용할 수 있다고 되어 있기에 어떻게 이 타입을 쓰는 것인 지 알아보려 하였는데, 실망스럽게도 딱 한눈에 잘 설명해 놓은 사이트가 잘 없어 고생을 한 끝에 별 것도 아닌 사용법을 익히게 되어 여기 정리를 해둔다. set 은 vector 처럼 data 만을 key 없이 추가할 수 있는 반면, vector 나 map 과는 달리 중복된 데이터를 허용하지 않는다. 1. 선언 예를 들어, integer 의 set ..

2009. 7. 23. 13:32

1986년 덩크 콘테스트 우승자 스퍼드웹

1986년 덩크 콘테스트 우승자 스퍼드웹. 그의 신장 168cm..... 나는 키가 작다. 사람들은 나를 넘어서 덩크를 했고, 나는 그것이 싫었다. 연습에 연습을 거듭했다. 그 결과 높은 점프력을 얻게 되었고, 덩크를 할 수 있게 되었다. 나는 나를 넘어섰다. - 스퍼드웹-

2009. 7. 20. 19:03

bitarray 제작, 활용

bitarray 간단버전. 물론 gpg 1.10장 조낸 베낀거임. bitarray에 대한 활용은 여러가지 생각해 볼 수 있을 것 같다. 나열된 수열에서 중복제거나 sorting, 중복갯수 알아내기등 간단한 테스트를 위한 코드. int _tmain(int argc, _TCHAR* argv[]) { int iList[] = {5,3,2,11,3,7,4,5,2,4,18,17,3,15,17,18,6,9,19,11}; MgBitArray mybit(20); mybit.Clear(); for(int i=0; i