#define1 [C/C++] #define (선행처리자) References Effective C++ (항목 2) Effective C++에서 언급하고 있는 #define에 대해서 알아보겠습니다. 우선 아래의 코드를 썻다고 가정해봅시다. #define ASPECT_RATIO 1.653 우리가 코드를 볼 때에는 ASPECT_RATIO가 심볼릭 기호(Symbolic name)으로 보이지만 컴파일러에게는 전혀 보이지 않습니다. 이는 소스 코드가 컴파일러로 전달되기 전에 전처리기(preprocessor)가 ASPECT_RATIO를 전부 숫자 상수로 바꾸어 버리기 때문입니다. 그 결과, ASPECT_RATIO는 컴파일러의 심볼 테이블에 들어가지 않게 됩니다. 그래서 숫자 상수로 대체된 코드에서 ASPECT_RATIO와 관련되어 에러가 발생하게 된다면, 꽤 헷갈릴 수 있.. 2021. 7. 22. 이전 1 다음