タグ

ブックマーク / www.fides.dti.ne.jp/~oka-t (2)

  • 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

  • テンプレートあれこれ (2) -- 特殊化 (specialization) - C++ Labyrinth

    テンプレートあれこれ (2) -- 特殊化 (specialization) 「特殊化」 (specialization) は、 テンプレートを使いこなす上で是非とも知っておきたい概念の一つである。 これの理解なくして STL などの正確な理解はありえない。 特殊化というのは、たとえて言うなら、テンプレートを「オーバーロード」するための仕組みである。 つまり、同一のテンプレート名に対して複数の異なる実装を定義することができるのである。 ただし、関数のオーバーロードとは異なり、テンプレート引数の数を変えることはできない。 テンプレートを特殊化するには、その前に汎用の (つまり普通の) テンプレートを定義 (または宣言) しておかなければならない。 以下に、汎用テンプレートの例を示す。 template<class T> class Buffer100 { private: T buffer[

  • 1