【发布时间】:2011-01-21 20:42:25
【问题描述】:
【问题讨论】:
-
为什么这不适用于
float项目? -
接受的答案适用于这个问题,就像它适用于任何其他数据类型一样。因此投票结束作为 dup。
【问题讨论】:
float 项目?
同样的事情。
std::vector<float> v(10);
float *p = &v[0];
【讨论】:
正如你引用的答案所展示的那样。
std::vector<float> v;
v.push_back(1.2);
v.push_back(3.4);
// &v[0] is a pointer to the first element of the vector.
float* array_sort_of = &v[0];
for (size_t i = 0; i < 2; i++) {
std::cout << array_sort_of[i] << " ";
}
// Output: 1.2 3.4
【讨论】:
float* arr = v.data();
&v[0],但是也可以
std::vector::data 是获取向量内部使用的内存数组的直接指针的标准方法(c++11 起)。 cplusplus.com/reference/vector/vector/data 。该方法被添加到 C++11 是有原因的。如果您使用现代 C++ 编程,我建议您使用标准的做事方式。