std::complex
来自cppreference.com
定义于头文件 <complex>
|
||
template< class T > class complex; |
(1) | |
template<> class complex<float>; |
(2) | |
template<> class complex<double>; |
(3) | |
template<> class complex<long double>; |
(4) | |
特化 std::complex<float> 、 std::complex<double> 及 std::complex<long double> 是表示并操纵复数的字面类型(LiteralType
)。
对任何其他类型实例化模板 complex
的效果是未指定的。
目录 |
[编辑] 成员类型
成员类型 | 定义 |
value_type
|
T
|
[编辑] 成员函数
构造一个复数 (公开成员函数) | |
为内容赋值 (公开成员函数) | |
访问复数的实部 原文: accesses the real part of the complex number (公开成员函数) | |
访问复数的虚部 (公开成员函数) | |
两个复数或一个复数的和一个标量的复合赋值 原文: compound assignment of two complex numbers or a complex and a scalar (公开成员函数) |
[编辑] 非成员函数
对复数运用一元运算符 (函数模板) | |
在两个复数或一个复数和一个标量上运用复数算术运算 (函数模板) | |
比较两个复数或一个复数和一个标量 (函数模板) | |
复数的序列化和反序列化 (函数模板) | |
返回实部 (函数模板) | |
返回虚部 (函数模板) | |
返回复数的模 原文: returns the magnitude of a complex number (函数模板) | |
返回相位角 (函数模板) | |
返回模的平方 (函数模板) | |
返回共轭复数 (函数模板) | |
(C++11) |
返回黎曼球上的投影 原文: returns the projection onto the Riemann sphere (函数模板) |
从模和相位角构造复数 原文: constructs a complex number from magnitude and phase angle (函数模板) | |
指数函数 | |
以 e为底复数的指数 (函数模板) | |
沿负实轴割线的复数的自然对数 原文: complex natural logarithm with the branch cuts along the negative real axis (函数模板) | |
沿负实轴割线的复数的常用对数 原文: complex common logarithm with the branch cuts along the negative real axis (函数模板) | |
幂函数 | |
复数的幂,两个参数或其一可能是复数 原文: complex power, one or both arguments may be a complex number (函数模板) | |
右半侧平面范围内的复数平方根 原文: complex square root in the range of the right half-plane (函数模板) | |
三角函数 | |
计算一个复数的正弦(sin(z)) 原文: computes sine of a complex number (sin(z)) (函数模板) | |
计算一个复数的余弦(cos(z)) 原文: computes cosine of a complex number (cos(z)) (函数模板) | |
计算一个复数的正切(tan(z)) 原文: computes tangent of a complex number (tan(z)) (函数模板) | |
(C++11) |
计算一个复数的反正弦 (arcsin(z)) (函数模板) |
(C++11) |
计算一个复数的反余弦(arccos(z)) 原文: computes arc cosine of a complex number (arccos(z)) (函数模板) |
(C++11) |
计算一个复数的反正切 (arctan(z)) (函数模板) |
双曲函数 | |
计算复数的双曲正弦(sh(z)) 原文: computes hyperbolic sine of a complex number (sh(z)) (函数模板) | |
计算复数的双曲余弦(ch(z)) 原文: computes hyperbolic cosine of a complex number (ch(z)) (函数模板) | |
计算复数的双曲正切 原文: computes hyperbolic tangent of a complex number (函数模板) | |
(C++11) |
计算复数的双曲反正弦 原文: computes hyperbolic arc sine of a complex number (函数模板) |
(C++11) |
计算复数的双曲反余弦 原文: computes hyperbolic arc cosine of a complex number (函数模板) |
(C++11) |
计算复数的双曲反正切 原文: computes hyperbolic arc tangent of a complex number (函数模板) |
[编辑] 非静态数据成员
对于任何 对于任何名为 这些要求实质上限制三种 std::complex 特化的实现各声明且仅声明二个非静态数据成员,类型为 此要求的目的是 C++ 复数类型与 C 语言复数类型(从而有其数组)的二进制兼容性,它要求相同的对象表示。 |
(C++11 起) |
[编辑] 字面量
定义于内联命名空间
std::literals::complex_literals | |
代表纯虚数的 std::complex 字面值 (函数) |
[编辑] 示例
#include <iostream> #include <iomanip> #include <complex> #include <cmath> int main() { using namespace std::complex_literals; std::cout << std::fixed << std::setprecision(1); std::complex<double> z1 = 1i * 1i; // 虚数单位平方 std::cout << "i * i = " << z1 << '\n'; std::complex<double> z2 = std::pow(1i, 2); // 虚数单位平方 std::cout << "pow(i, 2) = " << z2 << '\n'; double PI = std::acos(-1); std::complex<double> z3 = std::exp(1i * PI); // 欧拉方程 std::cout << "exp(i * pi) = " << z3 << '\n'; std::complex<double> z4 = 1. + 2i, z5 = 1. - 2i; // 共轭 std::cout << "(1+2i)*(1-2i) = " << z4*z5 << '\n'; }
输出:
i * i = (-1.0,0.0) pow(i, 2) = (-1.0,0.0) exp(i * pi) = (-1.0,0.0) (1+2i)*(1-2i) = (5.0,0.0)
[编辑] 参阅
复数算术的 C 文档
|