2011-10-22 3 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 등으로 사용할 수 있습니다.

관련 문제