C++や、それ風の言語で書いていると徒労感に襲われる時ってありませんか。 マクロはほとんど使用禁止みたいなもんだし、そもそも文字列を繋ぐ程度の能力しかありません。テンプレートはコンテナとか作ってるぶんにはいいのですが、少々凝ったことをしだすと関数オブジェクトだのtypenameだのが乱舞しだしてタイプ量が減ったのか増えたのか分からないことになり、チューリング完全とか言い出すと闇が待ち受けています。マクロを使って不安に苛まれるか、テンプレートを使って何とかするか、諦めて手で繰り返し書くかの不愉快な三択。 こいつはそもそもC++のメタプログラミング能力が貧弱なのがいかんのです。 というわけで、Ruby風にCをプリプロセスできるというものを作ってみました。設計方針は 実装が簡単、見た目がシンプル emacsのc++-modeで使うことが前提 です。 サンプルその1 いきなりですが、サンプルです。