作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在一个列表中有很多数据,比如每个元素有几千字节,我想逐个提取以进行一些数字处理。这些数据最初存储为 float[]。由于处理涉及大量索引和全局计算,我认为 valarray 可能易于编程。但是如果我使用valarray,我可能必须先从数组复制到valarray,然后再复制回数组。有什么办法可以避免这种情况吗?有什么方法可以让我直接在阵列上工作吗?或者你有更好的方法来解决类似的问题吗?
最佳答案
valarray
类型不提供任何方法来使用现有数组作为其数据存储;它总是为自己制作一份拷贝。不要将数据存储在普通数组中,而是从一开始就将值直接存储在 valarray
中。调用 v.resize
设置大小,然后使用 []
运算符为其赋值,或者使用 &v[0]
获取指向第一个值的指针,并像迭代器或缓冲区指针一样使用它 — valarray
的元素连续存储在内存中。
关于c++ - 有什么办法可以避免 valarray 和数组之间的复制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6847848/
我是一名优秀的程序员,十分优秀!