14.6 向量算术
11.2节介绍的vector被设计成一种通用的保存值的机制,它足够灵活,也能够适应容器、迭代器和算法的架构。但它不支持数学上的向量运算。为vector提供这类运算并不难,但它的泛化能力和灵活性妨碍了性能优化,而这通常是重要数值计算任务所必需的。因此,标准库在<valarray>中提供了一个类似于vector的模板valarray,其通用性较弱,但针对数值计算进行了必要的优化:
valarray支持常见的算术运算和大多数数学函数,例如:
除了算术运算,valarray还支持跨越式访问,这为实现多维运算提供了支持。