1
내 응용 프로그램 용 객체 시스템을 구축 중입니다. 지금은 같은 코드를 가지고 :지도 키 정렬
std::map<std::string, Object*> mObjects;
아이디어는 클래스 Object
(update
전화)하지만 어떤 순서로 각각의 개체를 업데이트하는 것입니다.
각 개체에 int z_index;
멤버가 있습니다. 해당 색인으로 인해지도를 정렬하려면 어떻게해야합니까 (btw, 색인은 동일 할 수 있음)?
내 첫번째 생각은이었다처럼 키 이름에 ID를 추가 :
Object *temp = /* ... */
temp->z_index = 5;
temp->name = "test";
mObjects[temp->z_index + temp->name] = temp;
하지만이 코드를 나는 이름으로 개체에 액세스 잃었습니다.
은 옵션 일 수 있습니다. – Naveen
@Naveen,'std :: multimap'을 의미합니까? – Nim
@Naveen : STL 컨테이너는 동시 정렬 술어를 지원하지 않습니다. OP가 2 개의 컨테이너를 유지하기를 원하지 않는다면 Boost Multi-Index가 최선의 선택입니다. – jweyrich