テンプレート

Cから1つのテンプレートを追加+ +は最近の機能の一つです。 これは一般的なクラスや関数を定義するために、プログラマを可能にする新しいコンセプトです。ため、一般的なプログラミングのためのサポートを提供します。 一般的なプログラミングのアプローチは、一般的な種類のアルゴリズムのようにパラメータとして適切なデータ型やデータ構造のさまざまな使用のために働くです。

のクラスや関数の家族を作成するテンプレートを使用することができます。 たとえば、あるクラスの配列をクラスの配列とフロートINTは私たちのような配列を様々なデータ型の配列を作成できるようになるテンプレートです。 同様に、我々は、関数は、乗算と言うテンプレートを定義することができます( ) 、私たち( )は、浮動小数点型の値をダブルINTは乗算と乗算の様々なバージョンを作成することにつながる。

マクロのようなものと見なされていることができるテンプレートです。 ときは、特定の型のオブジェクトを実際に使用するために定義されていると、そのクラスのための必要なデータ型の定義をテンプレートに置換されます。 また、テンプレートは、クラスや関数の実際の使用時には、指定されたデータ型に取って代わられるようなパラメータで定義されている。 クラスや関数のパラメータは、テンプレートと呼ばれています。

構文:

ベクトルクラスとして定義を考えて次のように:

今我々は浮動小数点値の配列を格納するためのベクトルを定義したいとします。 私たちは単純にベクトルのクラスに浮かぶと、適切なINTを置き換えることによって、この宣言を行うことができます。 これは、再び全体のクラスを再定義しなければならないことを意味します。

つまり、我々はパラメータとして、データ型を持つベクトルクラスを定義し、代わりに新しいクラスを定義するたびに任意のデータ型のベクトルを作成するこのクラスを使用すると仮定します。 テンプレートは、この目標を達成するメカニズムを可能にします:

ベクトルクラスのテンプレートの定義は以下の通りです:

このクラスを除いて、プレフィックス<class T>およびT型のテンプレートの使用は非常にいる普通のクラス定義のテンプレートを定義します。 このプレフィックスは、コンパイラは、テンプレートの宣言では、 Tタイプの名前として使用して宣言して行くのだ。 このように、ベクトルのパラメータとしては、 T型のパラメータを持つクラスとなっている。 Tはユーザーを含む他の種類のデータ型が定義されて代えることができる。 今は、種類の異なるデータ保持のためのベクトルを作成することができます。

クラスAクラスから作成したテンプレートをテンプレートクラスと呼ばれています。 テンプレートクラスのオブジェクトを定義するための構文は次のとおりです:

クラスから特定のクラスを作成するこのプロセステンプレートをインスタンス化と呼ばれています。 コンパイラは、インスタンス化が行われた場合のみ、エラー解析を行います。 それを作成することをお勧めは、されており、通常のクラスのデバッグをテンプレートに変換する前。

例:プログラムは、テンプレートの動作を示しています。

出力:



上位5つの無料ネットワークツール

ブックマークテンプレート

最新のブログの投稿


英語 英語 ドイツ語 ドイツ語 スペイン語 スペイン語 フランス語 フランス語 イタリア語 イタリア語 ポルトガル語 ポルトガル語 ロシア語 ロシア語 オランダ語 オランダ語
ギリシャ語 ギリシャ語 ヒンディー語 ヒンディー語 日本語 日本語 韓国語 韓国語 中国語 中国語 中国語(簡体字) 中国語(簡体字) アラビア語 アラビア語

著作権2009 技術に関するよくある質問。 版権所有。 プライバシーポリシー。