40.5 数值数组:valarray
很多数值计算依赖于相对简单的一维浮点值向量。特别是,高性能机器体系结构能很好地支持这种向量,依赖这种向量的库也已被广泛使用,对使用这种向量的代码进行大力度优化对很多领域也非常重要。<valarray>中的valarray是一种一维数值数组,它提供了数组类型上的常用数值向量算术运算以及切片和跨距操作:
valarray的基本思想是提供类Fortran的稠密多维数组处理特性以及优化的机会。这只有在编译器和优化器的积极支持下,以及在valarray基本特性基础上的更多库的支持下才能实现。到目前为止,并非所有C++实现都能实现这些。
40.5.1 构造函数和赋值操作
valarray构造函数允许我们从辅助数值数组类型和单个值初始化valarray:
例如:
在双参数的构造函数中,元素值在元素个数之前。这与标准容器的习惯不同(见31.3.2节)。
传递给拷贝构造函数的valarray参数的元素数决定了结果valarray的元素数。
大多数程序需要用来自表格或其他输入源的数据初始化valarray。除了初始化器列表机制,从内置数组拷贝元素的构造函数也对此提供了支持。例如: ...
Get C++程序设计语言(第4部分:标准库)(原书第4版) now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.