전자의 경우 FooPlayer::Action actionVariable = BarPlayer::RELEASE와 같은 문법상 오류를 컴파일 타임에 미연에 방지할 수 있으나,
후자의 경우 int fooActionVariable = BAR_PLAYER_RELEASE와 같은 오류를 범할 우려가 있습니다.
2006.07.05 17:33:21 (*.102.122.211)
안군
enum은, 구조체나 클래스 멤버로 쓸 때, 그리고 함수에 인자로 넘겨줄 때, 그 위력을 발휘하는 것 같습니다.
그냥 switch - case 문에나 쓰자고 할 때 보다요. 그리고 윗 분도 말씀하셨지만, 디버그 할 때 정말 좋습니다 -_-b
2006.07.05 19:29:57 (*.94.41.89)
MooN
Effective C++ 항목 제1번과 유사한 케이스겠네요.
enum 이 나을것입니다. C++ 이라면 const, inline 을 쓰는 것이 낫구요. 해설을 책을 참고 ^^;;;
2006.07.05 22:11:02 (*.232.96.120)
1ststory
같은 속성들의 값이라면
enum 한표
2006.07.06 14:20:08 (*.187.44.29)
Cretom
enum을 쓰면 자동적으로 값들이 구분이된다는게 좋은점이라고 할수 있는것 같습니다. 넣기만하면 자동적으로 값들이 구분되거든요(중복되지 않구)
위 분들이 애기하신것처럼 #define은 컴파일 되기전에 무조건 그 값을 바꾸고 시작하는거니 디버그시 그 값이 무엇을 의미하는지도 파악하기 힘듭니다
디버그 할 때는 enum이 좀 더 좋을듯 하고..
전 enum 추천요 ㅋ
이건 사람 취향인데.. 메모리 많은 세상이 왔으니.. enum 추천요