가끔 책을 읽다 보면, 몇가지 주의해야 하는 점을 보곤 한다. 그 중 신경쓰이는 것중 하나가 "단어의 의미" 이다. 원래가 한국책인 경우에는 상관이 없지만, 외국의 책을 번역한 책의 경우, 그 단어와 개념이 맞지 않는 경우가 있어, 이해하는데 곤혹을 치루곤 한다. 그래서 내 자신과 맞는 단어를 별도로 생각해서 쓰곤 하는데, 이게 또 다른 사람과 이야기 할때, 역시 곤혹을 치루곤 한다. 이때 More Effective C++ 을 보는 중, 벅역하신 곽용재씨께서 "클래스의 관계는 계층적 구조가 아닌 계통적 구조" 라는 말과 함께, 류광씨의 주장에 동감한다고 한 부분이 있었다. 해당 싸이트에 가서 해당 글을 읽으니 역시 동감한다. 링크를 표시해 두는 센스 링크 : http://occamsrazr.net/tt/..
연구실 검색 결과
윈도우에서 확인할것을 콘솔창으로 띄워 확인 할수 있다. 윈도우에서도 가능하지만, 여러가지 신경써야 할것이 있어서 이것이 더 편하다. 컴파일러 옵션에서 설정 하는 방법이 있지만, 가시적이지 못해 난해하다. 그럴때는 헤더파일에 포함시켜 관리하는게 편한데... 어떤 코드냐 하면 #ifdef _DEBUG || DEBUG #pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:console") #endif 이런 코드이다. _DEBUG 는 디버깅 모드로 컴파일 할때 활성화 되는 define 이니, 디버깅 할때만 확인 할수 있다. 혹 다른 컴파일러에서 .. 이것이 활성화가 안되서 안된다면 명시적으로 적어 주자. #define _DEBUG 라고.. 그럼! 모두들 열..
출처 : 벌나래 ( HOMEPAGE ) 사유 : 귀중한 데이터가 날라갈까봐 블러그에 옮겨 둔다. 자세한 설명이 아주 일품이다 원문 : 링크 컴파일러가 특정 머신에서 기계어 코드로 변환되어 데이터를 저장하고 가져오는데는 보통 word 단위(4 byte)로 입출력하는 경우가 많다. 이것은 시스템의 효율성을 가져오기 위해서 단위 출력/입력을 하는 것이다. 원래 이렇게 되는 것은 CPU의 특성때문이다. CPU 에서 가장 비용이 많이 들어가는 것은 메모리에 접근하는 작업인데 이 작업이 잦으면 별로 효율적이지 못하게 된다. 따라서 CPU는 (보통 32bit 머신이라면) 주변에 4 byte(32bit)의 데이터 공간을 같이 가져온다. 따라서 1 cycle당 32 bit 단위로 한번에 가져오게 되는 것이다. (항상 3..
[BOOL vs. bool] 참과 거짓을 나타내는 방법이 C와 C++에서 다릅니다. C 언어는 대문자 BOOL 자료형을 사용하고 C++는 소문자 bool 자료형을 사용합니다. 둘 다 참과 거짓을 표현하기 위해 만들었지만, 내부는 완전히 다르고 호환되지 않습니다. 일단 BOOL 자료형이 C 언어에는 없습니다. 대문자 BOOL 자료형을 사용하려면 typedef를 통해 재정의해야 합니다. typedef int BOOL; 이제 int와 BOOL은 같은 자료형이 되었고, BOOL 자료형을 사용할 수 있습니다. 문제는 BOOL 자료형의 근본이 int 자료형이기 때문에 2나 3의 값도 잘 받아들인다는 것입니다. 앞서 말했듯이 항상 거짓인 0과 비교해야 하는 이유입니다. 여기에 대문자 TRUE와 FALSE를 사용하기 ..
최근댓글