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つの定義があります.
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タイプ)を挿入します.