C++中'grid.size()'和'grid[0].size()'有什么区别

what is the difference between 'grid.size()' and 'grid[0].size()' in C++

我对 C++ 二维数组有疑问。下面代码中 C++ 中的 grid.size()grid[0].size() 有什么区别?

public:
int minPathSum(vector<vector<int>>& grid) {
    for(int i = 0; i < grid.size(); i++)
        for(int j = 0; j < grid[0].size(); j++) {
            if(i == 0 && j == 0) continue;
            int tp = 1e9;
            if(i > 0) tp = min(tp, grid[i-1][j]);
            if(j > 0) tp = min(tp, grid[i][j-1]);
            grid[i][j] += tp;
        }
    return grid[grid.size()-1][grid[0].size()-1];
};

grid[0] returns 第一行 two-dimensional vector 所以 grid[0].size() returns 该矩阵第一行的大小和 grid.size() return 矩阵中的行数。

grid.size()是外向量的大小

grid[0].size()是外向量第1个内向量的大小

grid.size()是网格的行数(外向量大小)。

grid[i].size() 是网格第 i 行的元素数(内部向量大小)。