初始化C ++中的列表列表

may*_*yaa 0 c++

我想在C ++中初始化列表列表(如在Python中)。假设列表为:[['a','b'],['c','d']]

C ++的新手,并且大多数都在Python中工作,因此不确定该怎么做。

std::vector<vector<string>> dp {{'a',b'}};
Run Code Online (Sandbox Code Playgroud)

我已经尝试过了,但是似乎没有用。

no matching function for call to 'std::vector<std::vector<std::__cxx11::basic_string<char> > >::vector(<brace-enclosed initializer list>)'|
Run Code Online (Sandbox Code Playgroud)

Ted*_*gmo 10

它在C ++中看起来相似,但是字符串文字应该用"not 括起来'(这是针对字符文字的)。

#include <iostream>
#include <string>
#include <vector>

int main() {
    std::vector<std::vector<std::string>> dp{{"hello", "world"},
                                             {"goodbye", "for", "now"}};
    for(const auto& v : dp) {
        for(const std::string& s : v) {
            std::cout << s << " ";
        }
        std::cout << "\n";
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

hello world
goodbye for now
Run Code Online (Sandbox Code Playgroud)