명시 적으로 매크로의 인수로 전달하지 않고 매크로 다음의 다음 코드 문을 사용하는 C 매크로, GCC 지시문 또는 pragma가 있습니까? 이 같은C 매크로 또는 다음 코드 문을 사용하는 GCC 지시문
뭔가 :
#define CONSUME_NEXT_IF(a) if (a) { (<next>) } else;
그리고로 사용할 것 :
CONSUME_NEXT_IF(a) stmt1;
그리고 그것은으로 확장 할 것으로 예상 :
if (a) stmt1;
else;
내가 여기 if
문을 사용하고 있습니다 예를 들면. 조건문은 실제로는 인수로 전달하지 않고 매크로에 의해 stmt1
을 소비하는 기능입니다. a
가 true
(비 - 제로) 인 경우
'(a) &&'해야합니다. – EOF
@ EOF, 제발 좀 더 자세히 설명해 주시겠습니까? – John
Mhh, 실제로는 항상 작동하지는 않습니다. 'stmt1'이 항상 괄호로 묶이거나'&&'보다 낮은 우선 순위의 연산자를 포함하지 않도록해야합니다. – EOF