使用箭头表示法指向C++中多维向量的每个维度

Using arrow notation for pointing to each dimension of a multidimensional vector in C++

本文关键字:向量 C++ 表示      更新时间:2023-10-16

我想在某个函数中使用指向 2D 向量(矩阵)的指针,该函数遍历所有行和列,如下所示:

int do_stuff_to_matrix(vector< vector<int> > *matrix) {
    for (int i = 0; i < matrix->size(); i++) {
        for (int j = 0; j < (*matrix)[0].size(); j++) {
            // do something for each element of matrix  
        }
    } 
    return 0;
}

使用 -> 表示法,我可以获取指针指向的矩阵的一个维度的大小。但我不确定我是否可以对第二维使用相同的符号,这就是为什么我使用普通的 * 运算符写出来的原因。

有没有一种方法可以使用 -> 表示法重写"(*matrix)[0].size()"?

matrix->operator[](0).size()

我不会建议它。