gpt4 book ai didi

c++ - 有什么办法可以避免 valarray 和数组之间的复制?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:58:05 26 4
gpt4 key购买 nike

我在一个列表中有很多数据,比如每个元素有几千字节,我想逐个提取以进行一些数字处理。这些数据最初存储为 float[]。由于处理涉及大量索引和全局计算,我认为 valarray 可能易于编程。但是如果我使用valarray,我可能必须先从数组复制到valarray,然后再复制回数组。有什么办法可以避免这种情况吗?有什么方法可以让我直接在阵列上工作吗?或者你有更好的方法来解决类似的问题吗?

最佳答案

valarray 类型不提供任何方法来使用现有数组作为其数据存储;它总是为自己制作一份拷贝。不要将数据存储在普通数组中,而是从一开始就将值直接存储在 valarray 中。调用 v.resize 设置大小,然后使用 [] 运算符为其赋值,或者使用 &v[0] 获取指向第一个值的指针,并像迭代器或缓冲区指针一样使用它 — valarray 的元素连续存储在内存中。

关于c++ - 有什么办法可以避免 valarray 和数组之间的复制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6847848/

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