2011-10-22 8 views
0

クラスオブジェクトまたはクラスオブジェクトをマップできますか?クラスオブジェクトまたはクラスオブジェクトをマップできますか?

私はキーが組み込みプライマリタイプでなければならないと考えています。関連するデータ値は、クラスまたはクラスオブジェクトです。キーは、自己定義されたクラスであるためには例えば

stl::map<int , myClass> myMap; 
myMap.insert(pair<int , myClass>); 

それは可能ですか?

stl::map<myClass , int> myMap; 

はいの場合、どのようにキーを並べ替えるのですか?

ありがとうございました

+0

'クラスオブジェクト*または*クラスオブジェクト'とはどういう意味ですか? – EJP

答えて

1

はい。 mapのキーは、デフォルトのコンストラクタを持ち、コピーと比較をサポートします。既定では、mapstd::lessコンパレータのキーと比較し、operator <を呼び出します。したがって、クラスにoperator <を定義するか、マップのカスタム比較クラスを提供する場合は、map,setなどと使用できます。

関連する問題