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