2014-03-27 66 views
0

靜態地圖的以下初始化是否存在差異?在地圖初始值設定項列表中使用std :: make_pair

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")} 
}; 

回答

1

沒有區別。有幾種可能的和你正在使用這一個在這兩種情況下:

map(std::initializer_list<value_type> init, 
    const Compare& comp = Compare(), 
    const Allocator& alloc = Allocator()); 

value_typetype 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") 
}; 
相關問題