小编Ryu*_*yuk的帖子

从 C++ 中的二维向量指针获取错误的大小

我创建了一个二维向量,但是当我从这个二维向量指针读取大小时,它得到了错误的大小。我不知道,有人能解释一下吗?

#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

c++ stdvector

-1
推荐指数
1
解决办法
63
查看次数

标签 统计

c++ ×1

stdvector ×1