看来我可能正在使用std::valarray<_Tp>
s 进行一些计算工作(假设_Tp
是uint64_t
)。不幸的是,以下成立:
- 我的代码接收原始数组 -
uint64_t*
s 和一个长度值 - - 我无法更改签名/API。不过他们是
__restrict__
编的。 - std::valarray 的构造函数采用 a
_Tp*
和 a 长度复制整个数组。 - 似乎没有设置
std::valarray
内部数据的方法;它甚至是私有的,因此您无法在子类中访问它。
那么如何在不复制我的数据的情况下打破这个难解的结并构造一个 valarray 呢?