[Effective C++] 항목 2. #define을 쓰려거든 const, enum, inline을 떠올리자 [Effective C++] 항목 2. #define을 쓰려거든 const, enum, inline을 떠올리자 컴파일 타임 상수 대체하기 아래와 같은 define 문이 있을 때, #define ASPECT_RATIO 1.653 ASPECT_RATIO라는 이름은 심볼은 컴파일러에겐 전혀 보이지 않는다(컴파일러의 심볼 테이블에 들어가지 않음). 선행 처리자가 숫자 상수로 바꾸어 버리기 때문이다. 이 때문에 생길 수 있는 문제는 다음과 같다. 컴파일 에러가 발생하면 ASPECT_RATIO라는 심볼보다는 1.653이라는 상수를 마주하게 될 것이므로, 버그를 찾기가 어려워 진다. (더군다나 ASPECT_RATIO가 정의된 파일이 프로젝트 내에 있지 않을 경우, 찾기가 더욱 곤란해 질 수 있음) 심볼릭 디버거에서도.. 더보기 이전 1 ··· 6 7 8 9 10 다음