内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
有什么方法来设置std::pair
?
std::unordered_map<int, std::pair<std::string, std::string>> my_map; my_map.emplace(1, "foo", "bar"); // Error
当然可以插入:
my_map[2] = std::make_pair("bar", "foo");
但这不需要不必要的复制/移动吗?
有什么方法来设置std::pair?
参数需要适合于pair<int, pair<string,string>>
,地图value_type
:
my_map.emplace(1, std::make_pair("foo", "bar"));
但这不需要不必要的复制/移动吗?
否make_pair
生成一对指向字符串文本的指针,然后用于初始化(在emplace
)或指派给包含在地图中的字符串。