cod*_*ddy 14 c++ valarray stdarray
valarray类的外观的同时,以array一流的,可以请你解释我在哪里,我宁愿valarray过array反之亦然?
ybu*_*ill 18
valarray已经在C++ 03中,array是C++ 11中的新功能valarray是可变长度,array不是.valarray是专为数字计算和提供了大量的操作,包括+,-,*,cos,sin,等... array没有.valarray有一个接口来检索数组(子数组)的切片,array但没有.valarray是一种动态数据结构,其大小可以在运行时改变并执行动态分配。array是一个静态数据结构,其大小在编译时确定(它也是一个聚合)。
但是不要使用valarray;只需使用 avector代替。
与之相关的类模板std::valarray<T>旨在支持称为表达式模板的优化技术.我没有尝试这样做,但我的理解是规范并不是非常需要这个并且也没有真正支持这一点.通常std::valarray<T>是一个相当专业的类,并没有真正广泛使用.另外,我认为模板参数支持std::valarray<T>是一个有限的集合(例如数字内置类型).
另std::array<T, n>一种是固定大小的阵列,支持尽可能固定大小的正常容器接口.从本质上讲,std::array<T>是一个更方便使用的版本T[n].