c++ #define 대안1 Effective C++ 항목 2: #define보단 const, inline을 사용하자. #define의 문제점#define은 매크로 상수나 매크로 함수를 정의하는데 사용된다. 이때 발생하는 문제점은 다음과 같다. #define으로 만들어진 매크로 상수는 기호식 이름(symbolic name)으로 보이지만 컴파일러에겐 보이지 않는다.#define A_define 16.3#define은 컴파일러가 처리하기 전에 전처리기가 작동해서 코드 내에 있는 모든 A_define를 16.3으로 바꾸는 텍스트 치환을 수행한다.즉, 컴파일러는 매크로 자체에 대해 아무 정보를 갖지 않고 치환된 값을 기준으로 컴파일한다. 그래서 생기는 문제점이 뭔가?이렇게 정의되어 있다면 A에 16.3이라는 값을 매크로로 할당한 것이다.그럼 이 값이 어떤 타입(int, double, float)인지 알 수 없다. 컴파일러는 매크.. 2024. 9. 30. 이전 1 다음