是的,之前有人问过这个问题,答案是:
valarray
s(值数组)旨在将 Fortran 的一些速度带入 C++。您不会制作 avalarray
of 指针,因此编译器可以对代码做出假设并更好地优化它。(Fortran 这么快的主要原因是没有指针类型,所以不能有指针别名。)
或者:
valarray
还应该消除任何混叠的可能性 [...]
但这些答案对我来说毫无意义。
valarray
并且vector
是类模板,因此,它们甚至在实例化之前都不存在。
当然, avector<int>
不会引起混叠问题valarray<int>
。
鉴于此, 的目的是什么valarray
,为什么他们不简单地将相同的功能放入其中vector
?