二维数组
int num[2][3]={{1,2,3},{4,5,6}};
int total=sizeof(num)/sizeof(int); //元素总个数
int row=sizeof(num[0])/sizeof(int); //行
int cols=total/row; //列
二维向量
vector<vector<int>>matrix={{1,2,3},{4,5,6}};
int raw=matrix.size(); // 行
int cols=matrix[0].size(); //列
int total =raw*cols; //元素总个数
而对于向量
sizeof(matrix);
sizeof(matrix[0]);
sizeof(vector<vector<int>>);
sizeof(vector<int>);
sizeof(vector<double>);
以上sizeof的结果都是16。
所以sizeof(vector < type >)的大小,跟容器里面存放多少数据无关,也与存放的数据类型无关,它是在编译期确定的一个值,仅跟具体的编译器有关。