我目前正在使用C++中的地图,并且有几个值是int和booleans,尽管它们中的大多数都是字符串.我知道在Java中我可以这样做:
std::map<string, Object*> mapvar;
Run Code Online (Sandbox Code Playgroud)
但Object在C++中是否存在等价物?如果没有,有没有什么办法,我可以有正确的价值观是一个std::string,int或者bool?
您可以拥有多个不同的地图,并在重载的函数中隐藏查找:
std::map<int, Object> map_int;
std::map<std::string, Object> map_string;
Object& lookup(int Key)
{ return map_int[Key]; }
Object& lookup(std::string Key)
{ return map_string[Key]; }
Run Code Online (Sandbox Code Playgroud)
现在你所有的查找都可以完成lookup(key).