항목2: #define을 쓰려거든 const, enum, inline을 떠올리자
·
STUDY/Effective C++
#define 소스코드의 경우에는 컴파일러에게 넘어가기 전, 선행처리자에서 숫자 상수로 바꾸어버린다. 그래서 #define pie 3.141 이라면 pie라는 이름은 컴파일러가 쓰는 기호 테이블에 들어가지 않고 숫자 상수(3.141)로 대체된다. CONST 하지만 #define대신에 const를 사용해 const double pie = 3.141; 을 작성한다면 상수타입의 데이터이기 때문에 컴파일러에서도 보이게된다. 그리고 매크로인 #define을 쓰게된다면 3.141의 사본이 등장횟수만큼 코드안에 들어가지만, 상수 타입인 const를 쓰면 사본이 한개만 생성되어 최종 코드의 파일 크기가 더작아지게된다. ※ #define을 상수로 교체할때의 주의할 점 1. 상수 포인터를 정의하는 경우 포인터는 꼭 con..