マクロに続く引数をマクロに引き渡すことなく、次のコードステートメントを使用するCマクロ、GCCディレクティブまたはプラグマはありますか?このような次のコードステートメントを使用する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