「
C では、プログラマーはテンプレートを使用して、さまざまな型で動作する汎用コードを作成できます。テンプレートを定義するとき、「
基本コンテキストの互換性
ほとんどの場合、"
template <typename T> class Foo {...}</p> <p>は次と同等です:</p> <pre class="brush:php;toolbar:false">template <class T> class Foo {...}
どちらの宣言も、任意の型 "T" で動作するジェネリック クラス "Foo" を定義します。
区別が必要な特定のケース
ただし、特定の場合があります。 ""と「」異なります:
template <typename param_t> class Foo { typedef typename param_t::baz sub_t; }
template <template <typename, typename> class Container, typename Type> class Example {...}
ここで、「Container」は 2 つの型パラメータを取るテンプレートです。
template class Foo<int>;
「class」キーワードは常に「typename」の代わりに使用されます。
要約すると、「
以上がC テンプレートで「 vs. 」をいつ使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。