define을 상황에 따라 재정의하려면

nekoko의 이미지

다음과 같은 define을 정의하는데 더 단순한 방법이 있나 해서 올립니다.
예를 들어

#define MAX_PROTOCOL 4 //프로토콜 수

라는 정의가 있고요. 상황에 따라 프로토콜이 늘어나면 이 수를 늘려주고자 합니다:

#ifdef PROTOCOL_A
#define TEMPP MAX_PROTOCOL
#undef MAX_PROTOCOL
#define MAX_PROTOCOL (TEMPP+1)
#undef TEMPP
#endif

#ifdef PROTOCOL_B
#define TEMPP MAX_PROTOCOL
#undef MAX_PROTOCOL
#define MAX_PROTOCOL (TEMPP+1)
#undef TEMPP
#endif
.
.
.

이런 식으로 해봤는데요
프로토콜이 추가될 때마다 똑같은 define 내용이 반복되는데
혹시 이걸 더 단순화할 수 있을까요..?

ktd2004의 이미지

이런 건 어떤가요?

enum {
PROTOCOL_A,
PROTOCOL_B,
MAX_PROTOCOL,
};
nekoko의 이미지

아.. 이게 좀더 깔끔할 거 같네요
좋네요 ㅋ 감사합니다~
더 좋은 방법을 알고 계신 분은 리플을 달아주세요..ㅋ

"I'm convinced that the only thing that kept me going was that I loved what I did." - Steve Jobs 1955-2011