C++ 11初始化对象的指针列表

tgy*_*tgy 1 c++ pointers initialization c++11

编辑:这个结构是真正糟糕的设计,不要使用它!

是否可以在C++ 11中初始化一个指向对象的指针列表(同时初始化所有内容)?

例如,假设我想要创建my_list哪种类型:

list<pair<string, map<string, string> *> *>.

我想用原始值初始化它.

list<pair<string, map<string, string> *> *> my_list = { ??? }

???:创建新的指针到新的对原始字符串和新指针的原始字符串的地图.

(为什么我需要这样做:这个数据结构存储从文件中读取的配置,但如果找不到该文件,我的代码中需要一个默认值)

Ker*_* SB 5

是的,当然:

list<pair<string, map<string, string> *> *> x {
    new pair<string, map<string, string> *>  {
        "hello", new map<string, string> { {"a", "1"}, {"b", "2"} } },
    new pair<string, map<string, string> *> {
        "world", new map<string, string> { {"a", "1"}, {"b", "2"} } },
};
Run Code Online (Sandbox Code Playgroud)

这是一个糟糕的设计.不要这样做.

  • @cHao:我会为35个Unicoins改变它. (2认同)