タグ

templateに関するxnightsのブックマーク (3)

  • テンプレートメタプログラミング - Wikipedia

    出典は列挙するだけでなく、脚注などを用いてどの記述の情報源であるかを明記してください。記事の信頼性向上にご協力をお願いいたします。(2022年9月) テンプレートメタプログラミング(英: template metaprogramming)は、メタプログラミング技法の一種であり、コンパイラがテンプレートを使って一時的ソースコードを生成し、それを他のソースコードと結合してコンパイルする方式である。テンプレートが出力するものは、コンパイル時の定数、データ構造、関数定義などがある。テンプレートの利用は言わばコンパイル時の実行である。この技法は様々な言語で使われている(C++、D言語、Eiffel、Haskell、ML、XLなど)。 テンプレートメタプログラミングの構成要素[編集] メタプログラミング手法としてのテンプレート利用には2段階の操作が必要である。まずテンプレートを定義し、次にそれをインス

  • JavaScript 的な考え方で C++ Template に入門してみた - IT戦記

    はじめに id:kazuhooku さんが Kazuho@Cybozu Labs: なんとなくリフレクション in C++ という記事を書いていて、なんか凄そう! わくわく! でも、読めません>< Template 怖い>< という訳で C++ Template の勉強をしてみよう! そいえば、ちょっと前に 1000speakers で上野氏に C++ Template はチューリング完全、関数型言語というようなことを聞いたきがする! じゃあ、いろんなことが出来るはず! という訳で JavaScript で出来ることが C++ で出来るかを試してみよう! まず 関数テンプレートと構造体テンプレートどっちで JavaScript の関数を表現するべきかを考えた。 C++ の文法を考える // これはできない>< void foo() { void bar() { void baz() { }

    JavaScript 的な考え方で C++ Template に入門してみた - IT戦記
  • テンプレートクラスの継承とthis-> - nyaxtのPC作業ログ

    テンプレートクラスを継承しても、親クラスのメンバ変数が解決できない問題に突き当たった。 ネタ切れなのでまた#lowhacks@irc.freenode.netのまとめ。 生ログ:http://irc.nyaxtstep.com/lowhacks/2008.04.12.txt thanks to: planetさん、h0shuさん template<typename T> class ClassA { protected: int m_test; }; template<typename T, typename T2> class ClassB : public ClassA<T2> { public: void test_method() { m_test = 3; } }; これをg++でコンパイルしようとすると、m_testが定義されていない旨のエラーが出てしまう。 解決するには: C

    テンプレートクラスの継承とthis-> - nyaxtのPC作業ログ
  • 1