gpt4 book ai didi

c++ - 如果使用 vector 如何获取数组大小

转载 作者:行者123 更新时间:2023-11-28 00:11:30 24 4
gpt4 key购买 nike

我想使用 vector<float*> 存储二维数组. float*将由 fread 分配功能。但它不能得到 float尺寸在 a 内,除非使用 vector<vector<float>> .我不想使用 vector<vector<float>>因为它需要从数组转换为 vector .那么还有其他更好的方法吗?

最佳答案

使用 vector<vector<float>> . vector 的一个要求是元素连续存储。更正式地说(来自 http://en.cppreference.com/w/cpp/container/vector ):

The elements are stored contiguously, which means that elements can be accessed not only through iterators, but also using offsets on regular pointers to elements. This means that a pointer to an element of a vector may be passed to any function that expects a pointer to an element of an array.

这意味着你可以这样做:

vector<float> x{1.0, 2.0};
float *x1 = &x[0];

关于c++ - 如果使用 vector<float*> 如何获取数组大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32879179/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com