Xマクロは、コードの繰り返しを最小限に抑え、データ/コードの対応を維持するためのプリプロセッサベースの手法です。共通のデータセットに基づく複数の別個のマクロ拡張は、単一のマスターマクロを介して拡張グループ全体を表現することによってサポートされ、そのマクロの置換テキストは、各データに対して1つの内部マクロの一連の拡張からなる。内側のマクロは、伝統的にX()
という名前が付けられているため、テクニックの名前です。
Xマクロスタイルのマスターマクロのユーザーは、内部のX()
マクロと、その範囲内でマスターマクロを展開する独自の定義を提供することが期待されます。したがって、マスターの内部マクロ参照は、ユーザーのX()
の定義に従って拡張されます。このようにして、ソースファイル内の反復可能な定型コードの量は、「自分自身を繰り返さない」(DRY)という考え方に支持されているように、 X()
置換テキストで1回しか表示されません。
さらに、 X()
を再定義し、さらに1回または複数回マスターマクロを展開することにより、Xマクロは対応するデータとコードの管理を容易にすることができます。マクロを展開するとデータが宣言されます(たとえば、配列要素または列挙型メンバとして)。他の拡張は対応するコードを生成する。
「Xマクロ」という名前は内部マクロの伝統的な名前に由来しますが、テクニックはその特定の名前に依存しません。その代わりに、任意の有効なマクロ名を使用できます。
批判には
Xマクロの良い説明は、Dr. Dobbs( http://www.drdobbs.com/the-new-cx-macros/184401387)の Randy Meyersの記事[X-Macros]にあります 。