Templates 具有不同值类型的stl映射?

Templates 具有不同值类型的stl映射?,templates,dictionary,stl,Templates,Dictionary,Stl,我想在地图中存储对不同对象的引用,但我不知道如何定义地图 e、 g: map-myList; myList[“keyA”,stringA); myList[“keyBlist”,矢量); myList[“文件”,fileObject); 字符串和值=(字符串和)myList[“keyA”]; CFile&fobj=(CFile&)myList[“文件”]; 有什么建议可以解决这个问题吗?STL映射(像所有STL容器一样)只存储属于单一类型的值。因此,您可以使用指向基类或联合的指针作为值类型。B

我想在地图中存储对不同对象的引用,但我不知道如何定义地图

e、 g:

map-myList;
myList[“keyA”,stringA);
myList[“keyBlist”,矢量);
myList[“文件”,fileObject);
字符串和值=(字符串和)myList[“keyA”];
CFile&fobj=(CFile&)myList[“文件”];
有什么建议可以解决这个问题吗?

STL映射(像所有STL容器一样)只存储属于单一类型的值。因此,您可以使用指向基类或联合的指针作为值类型。Boost提供了一个现代的区分联合。

STL映射(像所有STL容器一样)仅存储属于单一类型的值。因此,您可以使用指向基类或联合的指针作为值类型。Boost提供了一种现代的区分联合。

[?[?
map<string, & ObjectReferenceOfAnyKind> myList;

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

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