【发布时间】:2017-03-26 12:13:48
【问题描述】:
我有一个 const float* 指向一个巨大的数组,并且希望能够通过 std::array 访问这些元素。 做这个的最好方式是什么?尽可能不复制元素。
谢谢!
【问题讨论】:
-
如果没有未定义的行为,这是不可能的。为什么需要它?
-
我需要构造一个对象,其构造函数中的参数之一是std::array。并且值存储在eigen的RealVectorType(eigen.tuxfamily.org/dox/…)这个类型有一个data()方法,它返回一个float*。
-
如果类构造函数采用std::array,那么大小必须在编译时知道——对吗?你能展示你正在尝试构建的类的代码吗?
-
如果它强制你使用
std::array,你需要构造的这个对象有一个设计糟糕的API。您能否与开发人员交谈以改进 API,例如。 G。改为接受一对迭代器? -
是的,我知道编译时的大小。是这个类:pastebin.com/FU2vxWBS我做了,改一下就好了。