C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++プログラムのテンプレートの特殊化?


このチュートリアルでは、C++でのテンプレートの特殊化を理解するためのプログラムについて説明します。

sort()のような標準関数は、任意のデータ型で使用でき、それぞれで同じように動作します。ただし、特定のデータ型(ユーザー定義でも)に対して関数の特別な動作を設定する場合は、テンプレートの特殊化を使用できます。

#include <iostream>
using namespace std;
template <class T>
void fun(T a) {
   cout << "The main template fun(): " << a << endl;
}
template<>
void fun(int a) {
   cout << "Specialized Template for int type: " << a << endl;
}
int main(){
   fun<char>('a');
   fun<int>(10);
   fun<float>(10.14);
   return 0;
}

出力

The main template fun(): a
Specialized Template for int type: 10
The main template fun(): 10.14

  1. C++のis_fundamentalテンプレート

    この記事では、C++STLでのstd::is_fundamentalテンプレートの動作、構文、および例について説明します。 is_basicentalは、ヘッダーファイルの下にあるテンプレートです。このテンプレートは、指定されたタイプTが基本データタイプであるかどうかを確認するために使用されます。 基本タイプとは何ですか? 基本型は、コンパイラ自体ですでに宣言されている組み込み型です。 int、float、char、doubleなどのように。これらは組み込みデータ型とも呼ばれます。 クラス、列挙型、構造体、参照、ポインタなどのユーザー定義のすべてのデータ型は、基本型の一部ではありません。

  2. C++でのテンプレートの特殊化

    C ++では、テンプレートを使用して一般化された関数とクラスを作成します。したがって、int、char、floatなどの任意のタイプのデータ、またはテンプレートを使用するユーザー定義データを使用できます。 このセクションでは、テンプレートの特殊化の使用方法を説明します。これで、さまざまなタイプのデータ用に一般化されたテンプレートを定義できます。そして、特別なタイプのデータのためのいくつかの特別なテンプレート関数。より良いアイデアを得るためにいくつかの例を見てみましょう。 サンプルコード #include<iostream> using namespace std; templat