항목 1. #define보다 const 와 inline을 사용 한다.
이유 1. #define은 전처리기에서 작업하기 때문에 컴파일러가 모르게 된다. 2. 1번의 사항으로 이식성이 떨어지게 된다. 3. 1번의 사항으로 다른 파일의 헤더파일로 들어가면, 이것으로 인한 디버깅이 어려워진다. 4. 매크로함수의 버그 찾기가 어려워진다. 해결방법 변수 하나 더 주고, const를 사용 해라. 해결방법의 주의점 두가지 1. 상수 포인터를 정의할 때, - const char* const authorName = "Scoot Meyers"; 식으로 어떤 변경도 못하게 해라. 2. 클래스 범위안에서의 상수일때 - static const int NUM_TURNS=5; // 클래스 내부 private에다가 선언 이렇게 하면, 클래스의 전역구역(?)에 1개만 올라가서 클래스 내부에서만 접근 가능..
책 정리/Effective C++ 2판
2008. 5. 7. 05:14
최근댓글