'매크로'에 해당되는 글 2건

  1. 2007.12.12 템플릿과 매크로
  2. 2005.08.22 전처리기의 해악
dev.log2007. 12. 12. 21:37

오늘 받은 코드는 패킷을 다음과 같이 정의해서 쓰고 있다.

struct Packet

{

    unsigned type;

    unsigned size;

};

#define PACKET_DECLARE(_packet,_type)  _packet() \

    { type = _type; size = sizeof(_packet); }

 

struct PacketXXX : public Packet

{

    int BlahBlah;

    PACKET_DECLARE(PacketXXX, IDPKT_XXX)

};

 그런데 난 다음과 같은 방식을 더 선호한다.

template < class P, unsigned T >

struct Packet

{

    unsigned type;

    unsigned size;

    Packet() { type = T; size = sizeof(P) }

};

 

struct PacketXXX

    : public Packet < PacketXXX, IDPKT_XXX >

{

    int BlahBlah;

};

여러모로 템플릿은 매크로의 유용한 대체 수단이 된다. 그런데 뭐가 더 좋은지는 각자의 선호도에 달린 문제니까, 뭐라 평가는 못하겠지만, 대안이 있음을 알고 있다는 것은 더 좋은 일임에 분명하다.

 

Posted by uhm
dev.log2005. 8. 22. 17:20

오늘 나눈 대화의 결론 :

결국, 전처리기는 바보다.




Posted by uhm