C++ テンプレート プログラミングは、パラメーター化されたクラスまたは関数を使用して汎用コードを作成するための手法であり、さまざまなデータ型の処理を可能にし、コードの保守性とスケーラビリティを向上させます。テンプレートを定義する: template キーワードを使用してテンプレート パラメーターを指定し、さまざまな型からインスタンス化できるクラスまたは関数を作成します。テンプレートを使用する: テンプレート名の前にテンプレート キーワードを追加し、パラメータ タイプを指定して、テンプレートの特定のインスタンスを作成します。実用的なケース: テンプレートを使用して二分検索を実行します。テンプレート パラメーターに異なる型を渡すことで、この関数をさまざまな型の並べ替えられた配列で使用できます。
C++ テンプレート プログラミングを明らかにする
C++ テンプレート プログラミングは、さまざまなデータ型を処理できる汎用コードを作成できる強力なテクニックです。テンプレートを使用すると、再利用可能なコンポーネントを作成でき、コードの保守性と拡張性が向上します。
テンプレートとは何ですか?
テンプレートは、パラメーター化されたクラスまたは関数です。これは、テンプレート パラメーターに異なるタイプを指定することで、テンプレートの複数のインスタンスを作成できることを意味します。たとえば、次のコードは、任意の型の要素を格納できるテンプレート クラス Array
を作成します。 Array
,它可以存储任何类型的元素。
template<typename T> class Array { public: Array(int size) : size(size), data(new T[size]) {} ~Array() { delete[] data; } T& operator[](int index) { return data[index]; } private: int size; T* data; };
如何使用模板
要使用模板,您需要在类或函数名前面加上 template
Array<int> intArray(10);
テンプレートの使用方法
テンプレートを使用するには、クラスまたは関数名の前にtemplate
キーワードを付けて、テンプレート パラメーターを指定する必要があります。たとえば、整数の配列を作成するには、次のコードを使用できます: template<typename T> int binary_search(Array<T>& arr, T target) { int low = 0; int high = arr.size() - 1; while (low <= high) { int mid = (low + high) / 2; T guess = arr[mid]; if (guess == target) { return mid; } else if (guess < target) { low = mid + 1; } else { high = mid - 1; } } return -1; }
実用的な例: 二分探索
🎜🎜テンプレートを使用した二分探索の実際の例を見てみましょう。二分探索は、ソートされた配列に対して機能する効率的な検索アルゴリズムです。 🎜Array<int> intArray = {1, 3, 5, 7, 9}; int result = binary_search(intArray, 5);
以上がC++ テンプレート プログラミングを明らかにするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。