我正在解析一个 JSON 文件,这些值可以由整数、字符串或浮点数组成。通常我有一个这样定义的地图:
std::map<std::string, std::string> myMap;
问题是如果可以有不同的数据类型,我不清楚如何使用 map,我试过:
std::map<std::string, auto> myMap;
但我收到一个错误:
'auto' is not allowed here
有没有办法可以将它与不同的数据类型一起使用,或者我是否需要定义一个可以包含不同数据类型的对象,例如:
Class MyObject
{
private:
int integerValue;
std::string stringValue;
public:
void setValue( std::string value, int type );
}
MyObject::setValue( std::string value, int type )
{
if( type == 0 )
stringValue = value;
else if( type == 1 )
integerValue = stoi( value );
}
还是有更好的方法来做到这一点?谢谢!