2011-03-31 8 views
1

다른 객체에 대한 참조를지도에 저장하고 싶지만지도를 정의하는 방법을 모르겠습니다.지도?

는 예컨대 :

map<string, & ObjectReferenceOfAnyKind> myList; 

myList[ "keyA", stringA); 
myList[ "keyBlist", vector); 
myList[ "file", fileObject); 

string &value = (string&) myList["keyA"]; 
CFile &fobj = (CFile&) myList["file"]; 

어떤 제안 방법이 문제를 해결하려면?

+0

[http://www.boost.org/doc/libs/1_46_0/doc/html/any.html](boost::any)? – Damon

답변

1

STL 맵 (모든 STL 컨테이너와 마찬가지로)은 단일 유형에 속하는 값만 저장합니다. 따라서 값 유형으로 기본 클래스 또는 공용체에 대한 포인터를 사용할 수 있습니다. Boost는 Variant으로 현대 식별 가능한 조합을 제공합니다.