[ CnUnix ] in KIDS 글 쓴 이(By): doldori (돌돌이) 날 짜 (Date): 2004년 9월 14일 화요일 오후 08시 32분 38초 제 목(Title): Re: C Macro inline / const 는 당연히 추천이지만, template 은 까딱하면 디버깅이 불가능해지므로 비추. -_-! -- 이런 이유로 비추라고 하기는 좀... ^^; 매크로도 마찬가지 아닌가요? const, inline, template으로 대체가 안되는 매크로의 예는 무수히 많아요. 말씀 하신 걸로 assert () macro같은걸 만들 수 있나요? -- 그러고 보니 token pasting은 매크로가 아니면 불가능하군요. 대체가 가능한 것은 매크로를 쓰지 말자는 뜻으로 이해해 주시면 좋겠습니다. 그러나 저러나 말씀하신 assert는 이런 식으로 하면 어떨라나요? (원글은 C였으나 은근슬쩍 C++로 바뀌었군요.) template<typename T> inline void Assert(const T& expr) { #if !defined(NDEBUG) expr || (output implementation-specific information); #endif } 표준의 요구사항을 만족하는 것은 아니지만 token pasting만 제외하면 충분히 쓸 만하지 않습니까? |