【发布时间】:2014-03-19 14:49:51
【问题描述】:
我有一个std::vector<glm::vec3>,我想从中获取一个浮点类型的数组指针。
如果 std::vector 的内容是:
std::vector[0] = vec3(0.1f, 0.2f, 0.3f)
std::vector[1] = vec3(0.4f, 0.5f, 0.6f)
std::vector[2] = vec3(0.7f, 0.8f, 0.9f)
那么这就是指定当前索引的数组指针返回的内容:
array[0] = 0.1f
array[1] = 0.2f
array[2] = 0.3f
array[3] = 0.4f
array[4] = 0.5f
array[5] = 0.6f
array[6] = 0.7f
array[7] = 0.8f
array[8] = 0.9f
如果可以,最常见的实现方式是什么?
【问题讨论】:
-
从这 3 个
vectors 中创建一个新的vector。 -
但我不想要数据副本
-
float * ptr = &vec[0];? -
制作一个简单的包装器,为你做数组运算......你的代码也错了,你不能做 std::vector[0]
-
@Jaa-c 你是在建议一个指向向量向量中每个浮点数的浮点指针数组吗?
标签: c++ arrays pointers c++11 vector