C++更优雅的方法在多维数组中设置默认值

Ron*_*Ron 2 c++ arrays constructor default initialization

在我的.h文件中,我有:

struct tup{
    tup() : 
    token{{-1,"a","b","c","d","e","f"},
          {-1,"a","b","c","d","e","f"},
          ...
          {-1,"a","b","c","d","e","f"}} {}
    struct {
        int pos;
        std::string nj, ny, pa, ri, ct, fl;
    } token[100];
Run Code Online (Sandbox Code Playgroud)

其中"......"指的是97行相同类型的代码.是否有更优雅的方式为我的令牌设置默认值?

R S*_*ahu 5

如果你打开使用std::vector而不是数组,你可以使用:

struct tup{
    tup() : tokens(100, {-1,"a","b","c","d","e","f"}) {}
    struct token {
        int pos;
        std::string nj, ny, pa, ri, ct, fl;
    };
    std::vector<token> tokens;
};
Run Code Online (Sandbox Code Playgroud)