静态地图的以下初始化是否存在差异?
static std::map<FunctionID, std::string> enum_string_representation {
{FunctionID.something, "something"}
};
和
static std::map<FunctionID, std::string> enum_string_representation {
{std::make_pair(FunctionID.something, "something")}
};
答案 0 :(得分:1)
没有区别。有两种可能的constructors of map,你在两种情况下都使用这个:
map( std::initializer_list<value_type> init,
const Compare& comp = Compare(),
const Allocator& alloc = Allocator() );
value_type
属type std::pair<..,..>
,由{FunctionID.something, "something"}
或std::make_pair(FunctionID.something, "something")
构建。
你也可以写:
static std::map<FunctionID, std::string> enum_string_representation {
std::make_pair(FunctionID.something, "something")
};