effective1 [EC++] #define 대신 const, enum, inline을 사용해야 하는 이유 이 글은 'Effective C++' 을 읽고 정리한 내용입니다. "선행 처리자보다 컴파일러를 더 가까이하자." #define - #define은 소스코드가 어떻게든 컴파일러에게 넘어가기 전에 선행 처리자가 밀어버리고 '숫자 상수로' 바꾸어버린다. 문제점 - #define으로 정의된 코드에서 에러가 발생하게되면, ASPECT_RATIO가 아닌, 1.653으로 에러메세지가 발생하게 된다. - 위와 같은 경우에는 코드에서 1.653이 의미하는 바가 무엇인지 모를 경우에 곤란한 상황이 생긴다. const 위와같은 문제를 해결하는 방법으로 const를 이용하는 방법이 있다. 장점 - AspectRatio는 언어 차원에서 지원하는 상수 타입의 데이터이기 때문에 컴파일러에서 처리된다. - 상수가 부동 소수점 실수 .. 2020. 2. 11. 이전 1 다음