>>89
現状の何について不満を感じているのかが分からない。
マクロを適用した後の
foaah(int i = 0, i < 10, i++, {cout << i << endl;});が
for(int i = 0; i < 10; i++){cout << i << endl;}
と違う形になってしまっていること?

実は実際に「C風の構文で構文木をいじるマクロを実装すること」をテーマに言語(Dへのトランスレータ)を作ってて、構文は
function(int check, (int x), {
if(x < 10, {
return(2)
}, if(x < 20, {
return(3)
}))
});
というような形に行き着いたのだけど、ここまでしてもCのマクロに勝てる要素無いんだよね。
この言語でできることはCのマクロでもできる。
Schemeにある再帰マクロとかは単にマクロ自体の機能で、実装するなら構文木をいじらずともトークン列をいじくったほうが分かりやすいし多言語にも応用が利く。
実際に作ろうとした立場からは、C式はいらないという結論に達してしまったわけで。