我创建了一个二维向量,但是当我从这个二维向量指针读取大小时,它得到了错误的大小。我不知道,有人能解释一下吗?
#include <stdio.h>
#include <vector>
void read_size(std::vector<std::vector<float>> *vec)
{
printf("read size %d, %d\n", vec->size(), vec[0].size());
}
int main()
{
std::vector<std::vector<float>> vec;
vec.resize(100);
vec[0].resize(50);
printf("main %d, %d\n", vec.size(), vec[0].size());
read_size(&vec);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是
main 100, 50
read size 100, 100
Run Code Online (Sandbox Code Playgroud)
我认为两个尺寸都应该是 100、50