この「奇妙な」解決策を考えたとき、C/C++ の新しいプロジェクトのドメイン固有言語の設計をいじっていました。
define DSL(...) MakeCommand(#__VA_ARGS__\
)->Exec()->GetResults()
MyResults results = DSL( for p in people do something );
良い点は、これが標準で正しいことです (ただし、Duff Switch もそうです)、クロスプラットフォーム、移植可能などです...ただし、この方法は実際には文字列をコードに書き込むよりも優れているわけではありませんが、DSL エンジンが解析するためです。とにかく、このようにするときれいに見え、混乱が減ります。しかし、他の人々がそれについてどう思うか疑問に思っていました.
ありがとう