【问题标题】:stl map with different value types?具有不同值类型的stl映射?
【发布时间】:2011-03-31 14:47:40
【问题描述】:

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

例如:

map<string, & ObjectReferenceOfAnyKind> myList;

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

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

任何建议如何解决这个问题?

【问题讨论】:

标签: templates dictionary stl


【解决方案1】:

STL 映射(与所有 STL 容器一样)仅存储属于单一类型的值。因此,您可以使用指向基类或联合的指针作为值类型。 Boost 通过Variant 提供了一个现代的歧视性联合。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-27
    • 2011-10-21
    • 1970-01-01
    • 2012-08-30
    • 1970-01-01
    • 2021-12-22
    • 2019-02-26
    • 1970-01-01
    相关资源
    最近更新 更多