Standard Template Library プログラミング on the Web

Standard Template Library プログラミング
on the Web

加筆/修正


デフォルトtemplate引数 / コラム template

なお、2つ目以降のテンプレート引数にはデフォルトを指定することができます(デフォルトテンプレート引数)

...ウソです。デフォルトテンプレート引数は1つ目から指定できます。

  template<class X =long, class Y =char, class Z =Y>
  struct any {
    X x;
    Y y;
    Z z;
  };

  any<>             s0; // any<long,char,char>
  any<int>          s1; // any<int,char,char>
  any<int,long>     s2; // any<int,long,long>
  any<int,long,int> s3; // any<int,long,int>
参照ベースコンテナとauto_ptr

std::auto_ptr<T>をコンテナの要素とすることで参照ベースコンテナを実現しようというものですが、 これ、今ではダメダメです。auto_ptrの仕様が変わり、代入可能でなくなったため、コンテナの要素になれなくなりました。