gpt4 book ai didi

c++ - 初始化 map>

转载 作者:IT老高 更新时间:2023-10-28 22:22:58 26 4
gpt4 key购买 nike

我正在初始化 map<string, vector<string> >如下:

map <string, vector<string> > dict;

dict["USA"].push_back("NYC");
dict["USA"].push_back("LA");
dict["USA"].push_back("Chicago");
dict["USA"].push_back("Dallas");

dict["India"].push_back("Delhi");
dict["India"].push_back("Bombay");

dict["Australia"].push_back("Melbourne");
dict["Australia"].push_back("Sydney");
dict["Australia"].push_back("Adelaide");

我觉得这很麻烦。在 tcl 中可以做同样的事情如下更干净:

array set dict {
USA {NYC LA Chicago Dallas}
India {Delhi Bombay}
Australia {Melbourne Sydney Adelaide}
}

C++ 中是否有更简洁的初始化方式? ?我的编译器是 gcc 3.4.6

最佳答案

在旧的 C++ 中,初始化有很多限制。您的代码实际上根本没有初始化任何东西;它只是在一个已经初始化的对象上调用了很多成员函数。

在当前的 C++ (C++11) 中,您可以正确地初始化您的 map :

std::map<std::string, std::vector<std::string>> const dict {
{ "USA", { "NYC", "LA", "Chicago" } },
{ "India", { "Delhi", "Bombay" } }
};

关于c++ - 初始化 map<string, vector<string>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9950733/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com