2009. 8. 5. 15:11

[C/C++] #define 은 이제 한쪽으로 조용히 치워두고... const 를 애용하자.

 뭐 이 부분은 일전부터 말이 많았었고, #define 은 프리컴파일러에게 던져주기 때문에 디버깅시 골치아파질 수 있다는 사실은 익히 들어왔다. 되도록 define 을 쓰지 않는 것이 좋다고...

 ... 난 아직 #define을 쓰면서 골탕 먹어본일이 없지만 -.-;; 그래도 뭐 경험자들이 다 그렇다 하니... 그냥 간단히 포스팅 해놓고 습관만 들여놓을까 ... 하는중..

클래스 내부에 사용하느냐 외부에 사용하느냐에 따라서도 조금 다르고, 상수냐, 함수냐에 따라서도 조금 달라지지만 뭐 거의 비슷하다.

 

클래스 내부의 경우에는...
 

함수형...
 


 이 외에도 private enum 을 이용하여 enum hack (나열 둔갑술) 을 이용하여 배열 크기 처럼 상수가 필요한 경우...
 

왠지 좋아보이지 않는가 *-_-*?

그렇다고 #ifndef  쓸때도 #define 치우라는건 아니다.