小编典典

C++ valarray 与向量

all

我非常喜欢矢量。它们既漂亮又快速。但我知道存在这个叫做 valarray 的东西。为什么我要使用 valarray 而不是向量?我知道 valarrays
有一些语法糖,但除此之外,它们什么时候有用?


阅读 63

收藏
2022-08-08

共1个答案

小编典典

Valarrays(值数组)旨在将 Fortran 的一些速度带入 C++。您不会制作指针的
valarray,因此编译器可以对代码做出假设并更好地优化它。(Fortran 这么快的主要原因是没有指针类型,所以不能有指针别名。)

Valarrays 也有允许你以相当简单的方式将它们分割的类,尽管标准的那部分可能需要更多的工作。调整它们的大小是破坏性的, 它们缺乏迭代 器,自
C++11 以来就有迭代器。

因此,如果您使用的是数字并且方便性并不是那么重要,请使用 valarrays。否则,向量会更方便。

2022-08-08