我想创建一个vector<vector<int>>
外部向量是固定的(始终包含相同的向量),但可以更改内部向量。例如:
int n = 2; //decided at runtime
assert(n>0);
vector<vector<int>> outer(n); //outer vector contains n empty vectors
outer.push_back(vector<int>()); //modifying outer vector - this should be error
auto outer_it = outer.begin();
(*outer_it).push_back(3); //modifying inner vector. should work (which it does).
我试着做简单const vector<vector<int>>
,但这甚至使内部向量const
。
我是创建自己的自定义FixedVectors
类的唯一选择,还是有更好的方法来做到这一点?