make pairの使い方
2076 ワード
mapは関連コンテナで、中にはキー値のペアが格納されており、コンテナの各要素はpairタイプであり、mapのinsert()メソッドで要素(pairタイプ)を挿入します.template pair make_pair (T1 x, T2 y) { return ( pair(x,y) ); }
pairのタイプ:
pairはテンプレートタイプです.各pairは2つの値を格納できます.この2つの値には制限はありません.自分で書いたstructのオブジェクトを入れることもできます.
pair p;
pair p;
pair p;
どちらでもいいです...
std::pairの主な役割は、2つのデータを1つのデータに組み合わせることであり、2つのデータは同じタイプまたは異なるタイプであってもよい.例えばstd::pairまたはstd::pairなど.pairは実質的に構造体であり、その主な2つのメンバー変数はfirstとsecondであり、この2つの変数は直接使用することができる.pairを初期化するには、コンストラクション関数を使用するか、std::make_を使用します.pair関数.
適用:1つの関数に2つの戻り値がある場合、同じタイプであれば配列で返すことができ、異なるタイプであればstructを自分で書くことができますが、便利にするためにc++持参のpairを使って、2つの値を持つpairを返すことができます.戻り値の適用を除いて、1つのオブジェクトに複数の属性がある場合は、通常自分でstructを1つ書き、2つの属性であればpairで操作できます.のpairを適用すると、自分でstructを書くことができます...3つの属性があれば、実はpairが使える、極端な書き方pair>極端な書き方です.(後ろの2つ>>スペースが必要です.そうしないと>>シフト演算子になります)pairp(5,6); pair p1= make_pair(5,6); pair p2 ("aa",5.0); pair p3 = make_pair("aa",5.0); この2つの書き方でpairを生成します.pairの値を取得するにはどうすればいいですか.の各pairにはfirstとsecond cout<の2つの属性値があります.
一般make_pairはパラメータとしてpairが必要な場所で使用され、make_を直接呼び出すことができます.pairはpairオブジェクトを生成します.make_pairは,2つのパラメータタイプからpairの2つのテンプレートパラメータタイプを導出した.もう1つの使用態様は、pairが暗黙的なタイプ変換を受け入れることができ、より高い柔軟性を得ることができることである.しかし、次のような問題が発生します.たとえば、次の2つの定義があります.
最初のsecond変数はfloatタイプで、make_pair関数はsecond変数をdoubleタイプに変換します.この問題はプログラミングに注意を払う必要がある.次はpairとmakeです.pairの例プログラム:
mapは関連コンテナで、中にはキー値のペアが格納されており、コンテナの各要素はpairタイプであり、mapのinsert()メソッドで要素(pairタイプ)を挿入します.
mapは関連コンテナで、中にはキー値のペアが格納されており、コンテナの各要素はpairタイプであり、mapのinsert()メソッドで要素(pairタイプ)を挿入します.template pair make_pair (T1 x, T2 y) { return ( pair(x,y) ); }
pairのタイプ:
pairはテンプレートタイプです.各pairは2つの値を格納できます.この2つの値には制限はありません.自分で書いたstructのオブジェクトを入れることもできます.
pair p;
pair p;
pair p;
どちらでもいいです...
std::pairの主な役割は、2つのデータを1つのデータに組み合わせることであり、2つのデータは同じタイプまたは異なるタイプであってもよい.例えばstd::pairまたはstd::pairなど.pairは実質的に構造体であり、その主な2つのメンバー変数はfirstとsecondであり、この2つの変数は直接使用することができる.pairを初期化するには、コンストラクション関数を使用するか、std::make_を使用します.pair関数.
適用:1つの関数に2つの戻り値がある場合、同じタイプであれば配列で返すことができ、異なるタイプであればstructを自分で書くことができますが、便利にするためにc++持参のpairを使って、2つの値を持つpairを返すことができます.戻り値の適用を除いて、1つのオブジェクトに複数の属性がある場合は、通常自分でstructを1つ書き、2つの属性であればpairで操作できます.のpairを適用すると、自分でstructを書くことができます...3つの属性があれば、実はpairが使える、極端な書き方pair>極端な書き方です.(後ろの2つ>>スペースが必要です.そうしないと>>シフト演算子になります)pairp(5,6); pair p1= make_pair(5,6); pair p2 ("aa",5.0); pair p3 = make_pair("aa",5.0); この2つの書き方でpairを生成します.pairの値を取得するにはどうすればいいですか.の各pairにはfirstとsecond cout<の2つの属性値があります.
一般make_pairはパラメータとしてpairが必要な場所で使用され、make_を直接呼び出すことができます.pairはpairオブジェクトを生成します.make_pairは,2つのパラメータタイプからpairの2つのテンプレートパラメータタイプを導出した.もう1つの使用態様は、pairが暗黙的なタイプ変換を受け入れることができ、より高い柔軟性を得ることができることである.しかし、次のような問題が発生します.たとえば、次の2つの定義があります.
std::pair(1, 1.1);
std::make_pair(1, 1.1);
最初のsecond変数はfloatタイプで、make_pair関数はsecond変数をdoubleタイプに変換します.この問題はプログラミングに注意を払う必要がある.次はpairとmakeです.pairの例プログラム:
#include
#include
#include
using namespace std;
int main ()
{
pair product1 ("tomatoes",3.25);
pair product2;
pair product3;
product2.first ="lightbulbs"; // type of first is string
product2.second =0.99; // type of second is double
product3 = make_pair ("shoes",20.0);
cout <
mapは関連コンテナで、中にはキー値のペアが格納されており、コンテナの各要素はpairタイプであり、mapのinsert()メソッドで要素(pairタイプ)を挿入します.