答案 0 :(得分:1)
你有两种选择。向量或单个向量的向量(参见@Bob __'评论)。
向量向量的优点是C ++优度(迭代器边界检查等)。缺点是建设/复制成本较高。必须构造(或复制)rows+1
个向量。
行* cols大小的单个向量的好处是您只需要单个向量构造(或在需要时复制)。 (另一个性能优势是数据的缓存局部性。)
以下是保存[row] [col]语法的方法。
const int rows = 6;
const int cols = 6;
vector<int> x(rows*cols);
//enable using [row][col] syntax
auto a_int = reinterpret_cast<int (*)[rows]>(x.data());
// cout << a_int[row][col] << '\n';