C++ 参考手册
- C++11
- C++14
- C++17
- C++20
- C++ 编译器支持情况表
- 独立与宿主实现
- C++ 语言
- C++ 关键词
- 预处理器
- C++ 标准库头文件
- 具名要求
- 功能特性测试 (C++20)
- 工具库
- 类型支持(基本类型、RTTI、类型特性)
- 概念库 (C++20)
- 错误处理
- 动态内存管理
- 日期和时间工具
- 字符串库
- 容器库
- 迭代器库
- 范围库 (C++20)
- 算法库
- 数值库
- 常用数学函数
- 数学特殊函数
- 伪随机数生成
- 浮点环境
- std::complex
- std::valarray
- std::valarray<T>::valarray
- std::valarray<T>::~valarray
- std::valarray<T>::operator=
- std::valarray<T>::operator[]
- std::valarray<T>::swap
- std::valarray<T>::size
- std::valarray<T>::resize
- std::valarray<T>::sum
- std::valarray<T>::min
- std::valarray<T>::max
- std::valarray<T>::shift
- std::valarray<T>::cshift
- std::valarray<T>::apply
- std::valarray<T>::operator+,-,~,!
- std::valarray<T>::operator+=,-=,*=,/=,%=,&=,|=,<<=,>>=
- std::swap(std::valarray)
- std::begin(std::valarray)
- std::end(std::valarray)
- std::abs(std::valarray)
- std::exp(std::valarray)
- std::log(std::valarray)
- std::log10(std::valarray)
- std::pow(std::valarray)
- std::sqrt(std::valarray)
- std::sin(std::valarray)
- std::cos(std::valarray)
- std::tan(std::valarray)
- std::asin(std::valarray)
- std::acos(std::valarray)
- std::atan(std::valarray)
- std::atan2(std::valarray)
- std::sinh(std::valarray)
- std::cosh(std::valarray)
- std::tanh(std::valarray)
- operator+,-,*,/,%,&,|,^,<<,>>,&&,|| (std::valarray)
- operator==,!=,<,<=,>,>=(std::valarray)
- std::slice_array
- std::gslice_array
- std::indirect_array
- std::slice
- std::gslice
- std::mask_array
- std::valarray 的推导指引
- std::midpoint
- std::lerp
- std::has_single_bit
- std::bit_ceil
- std::bit_floor
- std::bit_width
- std::rotl
- 编译时有理数算术
- std::gcd
- std::lcm
- 数学常数
- std::bit_cast
- std::rotr
- std::countl_zero
- std::countl_one
- std::countr_zero
- std::countr_one
- std::popcount
- 注释
- 输入/输出库
- 文件系统库
- 本地化库
- 正则表达式库
- 原子操作库
- 线程支持库
- 实验性 C++ 特性
- 有用的资源
- 索引
- std 符号索引
- 协程支持 (C++20)
- C++ 关键词
std::valarray
定义于头文件 <valarray>
|
||
template< class T > class valarray; |
||
std::valarray 是表示并操作值数组的类。它支持逐元素数学运算与多种形式的广义下标运算符、切片及间接访问。
注意
std::valarray 及帮助类定义为免除某些形式的别名使用,从而允许这些类上的操作被优化得类似 C 程序语言中关键词 restrict 的效果。而且,接收 valarray
参数的函数和运算符允许返回代理对象,以使得编译器将诸如 v1 = a*v2 + v3; 的表达式优化成执行 v1[i] = a*v2[i] + v3[i]; 的单个循环,避免任何临时量或多趟运算。然而,表达式模板使得同样的优化技巧对任何 C++ 容器可用,而数值库的主流因灵活性偏好表达式模板甚于 valarray 。某些 C++ 标准库实现使用表达式模板以实现 std::valarray
上的高效运算(例如 GNU libstdc++ 与 LLVM libc++ )。只有少数库进一步优化 valarray ,例如 Intel Integrated Performance Primitives 。
模板形参
T | - | 元素的类型。类型必须满足数值类型 (NumericType) 要求 |
成员类型
成员类型 | 定义 |
value_type
|
T
|
成员函数
构造新的数值数组 (公开成员函数) | |
析构数值数组 (公开成员函数) | |
为内容赋值 (公开成员函数) | |
获取/设置 valarray 数组元素、切片或掩码 (公开成员函数) | |
对 valarray 的每个元素运用一元算术运算符 (公开成员函数) | |
应用复合赋值运算符到 valarray 的每个元素 (公开成员函数) | |
与另一 valarray 交换 (公开成员函数) | |
返回valarray的大小 (公开成员函数) | |
更改 valarray 的大小 (公开成员函数) | |
计算所有元素的和 (公开成员函数) | |
返回最小元素 (公开成员函数) | |
返回最大的元素 (公开成员函数) | |
以填入零的方式移动 valarray 的元素 (公开成员函数) | |
循环移动 valarray 的元素 (公开成员函数) | |
将函数应用到 valarray 的每个元素 (公开成员函数) |
非成员函数
(C++11) |
特化 std::swap() 算法 (函数模板) |
(C++11) |
特化的 std::begin (函数模板) |
(C++11) |
特化的 std::end (函数模板) |
对两个 valarray 的每个元素,或一个 valarray 的每个元素和一个值运用二元运算符 (函数模板) | |
比较两个 valarrays,或比较一个 valarray 和一个值 (函数模板) | |
应用函数 std::abs 到 valarray 的每个元素 (函数模板) | |
指数函数 | |
应用函数 std::exp 到 valarray 的每个元素 (函数模板) | |
应用函数 std::log 到 valarray 的每个元素 (函数模板) | |
应用函数 std::log10 到 valarray 的每个元素 (函数模板) | |
幂函数 | |
应用函数 std::pow 到二个 valarray 或一个 valarray 与一个值 (函数模板) | |
应用函数 std::sqrt 到 valarray 的每个元素 (函数模板) | |
三角函数 | |
应用函数 std::sin 到 valarray 的每个元素 (函数模板) | |
应用函数 std::cos 到 valarray 的每个元素 (函数模板) | |
应用函数 std::tan 到 valarray 的每个元素 (函数模板) | |
应用函数 std::asin 到 valarray 的每个元素 (函数模板) | |
应用函数 std::acos 到 valarray 的每个元素 (函数模板) | |
应用函数 std::atan 到 valarray 的每个元素 (函数模板) | |
应用函数 std::atan2 到一个 valarray 和一个值 (函数模板) | |
双曲函数 | |
在 valarray 的每个元素上调用 std::sinh 函数 (函数模板) | |
在 valarray 的每个元素上调用 std::cosh 函数 (函数模板) | |
在 valarray 的每个元素上调用 std::tanh 函数 (函数模板) |
辅助类
valarray 的 BLAS 式切片:起始下标、长度、跨度 (类) | |
到 valarray 应用 slice 后的子集的代理 (类模板) | |
valarray 的通用切片:起始下标、长度集、步幅集 (类) | |
valarray 应用 gslice 后的子集的代理 (类模板) | |
到应用布尔掩码 operator[] 后的 valarray 子集的代理 (类模板) | |
到应用间接 operator[] 后的 valarray 子集的代理。 (类模板) |