[c++] So übergeben Sie einen beliebigen Codeblock an C-Makro als Parameter



Answers

Question

Ich möchte ein Makro erstellen, das beliebige Codebausteine ​​als Parameter akzeptiert

FOR_VECTOR( type, vect, code_block ) \
  for( vector<type>::iterator i=vect.begin(); i!=vect.end(); ++i ) { \
    code_block; \
  }

Das Problem ist der Codeblock im Parameter, der eine beliebige Anzahl von Zeichen enthalten kann.

Gibt es eine gute Lösung?






Links