スキップしてメイン コンテンツに移動

投稿

8月, 2003の投稿を表示しています

Template Metaprogramming For Dummies

テンプレートメタプログラミングと呼ばれるテクニックがC++のコードに意識的に用いられ始めたのは1995年頃にまで遡るらしい(C++ による科学計算のためのライブラリ Blitz++ を作った T. Veldhuizenの記事 )。Alexander StepanovがテンプレートをANSI/ISOのC++委員会に提案したのがそれを遡ること2年前、1993年である。科学計算の分野で最も高速に動作するプログラムを構成するにはC言語ではなくFortranが最適であるという周知の事実に対し、C++言語でテンプレートを積極的に用いて、Fortranによる場合と同水準のパフォーマンスと、より見通しの利くオブジェクト指向を採用したプログラム構造とを両立させようという試みのもとに、このテクニックは開発されてきた。広く一般の認知を受けたのは、2001年のAndrei Alexandrescuによる著作 Modern C++ Design によってである。以来、 Modern C++ Design で解説されたジェネリックプログラミングとテンプレートメタプログラミングのテクニックを収めたライブラリ Loki 、 Boost ライブラリに収められているテンプレートメタプログラミングのためのフレームワーク MPL を通じて、その利用は徐々に広がりつつある。