이론적 근거에 있습니다.전처리기 매크로를 사용하는 대신 간단한 정?
-
14-11-2019 - |
문제
예를 들어 BOOST_PP_ITERATE
고 BOOST_PP_ITERATION
, 에 대한 응용 프로그램입니 GMan 의 google 기, 는 전처리기 매크로를하지 않고,어떤 매개 변수입니다.는 이유 있는 그들은 그냥 단순한 정의와 같은 사용하지 않고 ()
?
해결책
일반적으로,같은 기능을 매크로를 사용할 수 있습니다 방지하기 위해 매크로
확장합니다.
예를 들어,는 가정하에 우리는 다음과 같은 매크로 전화:
BOOST_PP_CAT( BOOST_PP_ITERATION, _DEPTH )
우리는이 될 것으로 기대로 확대 BOOST_PP_ITERATION_DEPTH
.
그러나,경우 BOOST_PP_ITERATION
는 객체에 다음과 같(non-능)매크로
그것은 확대됩니다 자신의 정의하기 전에는 토큰
BOOST_PP_ITERATION_DEPTH
에 의해 생성된 연결.
다른 팁
아마도 때문에 그들은 작업을 수행:따라서,그들의 사용을 명확하게하는 당신은 실제로 를 호출하여 무언가를하지만 일부를 사용하여 상수입니다.
제휴하지 않습니다 StackOverflow