문제

예를 들어 BOOST_PP_ITERATEBOOST_PP_ITERATION, 에 대한 응용 프로그램입니 GMan 의 google , 는 전처리기 매크로를하지 않고,어떤 매개 변수입니다.는 이유 있는 그들은 그냥 단순한 정의와 같은 사용하지 않고 ()?

도움이 되었습니까?

해결책

일반적으로,같은 기능을 매크로를 사용할 수 있습니다 방지하기 위해 매크로 확장합니다.
예를 들어,는 가정하에 우리는 다음과 같은 매크로 전화:

BOOST_PP_CAT( BOOST_PP_ITERATION, _DEPTH )

우리는이 될 것으로 기대로 확대 BOOST_PP_ITERATION_DEPTH.
그러나,경우 BOOST_PP_ITERATION 는 객체에 다음과 같(non-능)매크로 그것은 확대됩니다 자신의 정의하기 전에는 토큰 BOOST_PP_ITERATION_DEPTH 에 의해 생성된 연결.

다른 팁

아마도 때문에 그들은 작업을 수행:따라서,그들의 사용을 명확하게하는 당신은 실제로 를 호출하여 무언가를하지만 일부를 사용하여 상수입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top