const와 #define의 또 다른 차이점은 바로 디버깅 가능 유무입니다.
그림 11-11 | 상수 디버깅
그림 11-11에서 보듯이 #define문을 사용한 AND_GATE는 심볼 테이블이 생성되지 않으므로 디버깅 시에 값을 확인할 수 없습니다. 즉, #define으로 선언한 상수는 컴파일 시 심볼 테이블에 포함되지 않으므로 디버거에서 이름을 가지고 참조하기 어렵습니다. 그러나 const를 사용한 OR_GATE는 심볼 테이블을 생성하므로 디버깅 시에 값을 확인할 수 있습니다.
마지막으로 열거형 사용자 정의에 대해 프로그래밍 시 사용 관점에서 리뷰하겠습니다.