タグ

関連タグで絞り込む (3)

タグの絞り込みを解除

cとtemplateに関するtyruのブックマーク (7)

  • C++ Labyrinth

    C++ ラビリンス C++ は、数多くの謎、咒文、罠、そして宝箱が仕掛けられた、壮大な迷宮である。 その C++ 迷宮をさまよう同志たちへ、ささやかながら、いくつかの道標を お贈りしたい。 もちろん、私自身、C++ 迷宮の一彷徨者に過ぎない。誤りや不備な点があれば、 遠慮なく指摘していただきたい。 キャスト (2001-03-01) dereference (2001-03-01) マルチスレッドにおける singleton (2001-03-17) 契約による設計 (2001-03-25) 戻値とコンストラクタの妖しい関係 (2001-04-09) マルチスレッドにおける singleton (その2) (2001-04-10) 自己言及的なテンプレート (2001-06-13) オーバーロードは継承できない (2001-06-16) GCC 3.0 のインストール (2001-07-0

    tyru
    tyru 2009/06/21
    Let's boost - Boost.Spiritより
  • c++スレより 「クラスの内側で定義したクラステンプレートを特殊化する」 - matsutakegohan1の日記

    何の気なくのぞいてみたら、2chって宝の山なのですね。 過去スレとかにも面白い書き込みがたくさんあり、幾つかがdatに行く前にこうやって張れたらと思います。 91 名前: デフォルトの名無しさん 投稿日: 2007/09/30(日) 20:19:13 クラスの内側で定義したクラステンプレートを特殊化する、 class X { template<typename T> class Y {}; template<> class Y<int> {}; }; のようなコードは、VC++(2003/2005)ではコンパイルできますが、g++3/4では error: explicit specialization in non-namespace scope ‘class X’ というエラー になってしまいます。 YをXの中ではなく、名前空間スコープで template<> class X::Y {}

    c++スレより 「クラスの内側で定義したクラステンプレートを特殊化する」 - matsutakegohan1の日記
    tyru
    tyru 2009/06/21
    「規格ではネストされたクラス内での明示的特殊化は禁止されているけど 部分特殊化はOK」らしい
  • https://faithandbrave.hateblo.jp/entry/20080207/1202383891

  • misagosan

    Twitter: @misagosan

    tyru
    tyru 2009/06/11
    templateとか
  • template

    演習で使った C++ のテンプレートに関する資料を中途半端ですが公開しときます。暇があってやる気が出たら追加や書き直しをするかも。 テンプレート一般 template の適当な説明 コンパイル時の計算 コンパイル時のコード生成 traits とは policy とは typename は何故必要か

    tyru
    tyru 2009/06/09
    templateについて
  • メタ関数::テンプレート・メタプログラミング

    2006-06-30 昨日予告したように、今回からテンプレート・メタプログラミングに関する話題を取り上げていきたいと思います。C++のテンプレートは、元々は型 T のコンテナを実装する程度の用途しか想定されていなかったのでしょうが、STLやBoost C++ Librariesなどを見ても分かるように、非常に広い用途に利用されています。 今回は、テンプレート・メタプログラミングの最も基礎にあたる「メタ関数」を取り上げてみたいと思います。(メタではない)普通の関数は、引数として値を受け取り、返却値として値を返します。そして、関数として定義された内容は、実行時に解決されます。 しかし、メタ関数では、引数として型または定数値を受け取り、返却値として型または定数値を返します。そして、メタ関数として定義された内容は、コンパイル時に静的に解決されます。もちろん、メタ関数の引数や返却値というのは、普通の

  • 可変引数テンプレートでの型リストまとめ - Faith and Brave - C++で遊ぼう

    C++0xでは、可変引数テンプレートという機能が追加されます。 これを使うと、テンプレートパラメータを可変個受け取ることができ、 template <class... Args> // ...と書くと可変引数テンプレートになる class tuple; 可変引数テンプレートは型のリストと見なすことができます。 tuple<int> t1; // 要素1つ(int)の型リスト tuple<int, char> t2; // 要素2つ(int, char)の型リスト tuple<int, char, long> t3; // 要素3つ(int, char, long)の型リスト ということで、型リストがどこまでできるか試すために リスト処理を作ってみました。 headとtail - 先頭と後部 length - 長さ at - I番目の型を取得 concat - 型リストの連結 cons -

    可変引数テンプレートでの型リストまとめ - Faith and Brave - C++で遊ぼう
  • 1