std::complex
来自cppreference.com
                    
                                        
                    
                    
                                                            
                    | 
   | 
  该页由英文版wiki使用Google Translate机器翻译而来。 
 该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里.  | 
|   在头文件 <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>是表示和操作复数的字面类型。 
原文:
The specializations std::complex<float>, std::complex<double>, and std::complex<long double> are literal types for representing and manipulating 复数. 
以任何其他类型实例化模板
complex的效果是未定义的。原文:
The effect of instantiating the template 
complex for any other type is unspecified.[编辑] 成员类型
|    成员类型  
 | 
定义 | 
  value_type
 | 
  T
 | 
[编辑] 成员函数
|     构造一个复数   (公共成员函数)  | |
|     为内容赋值   (公共成员函数)  | |
|     访问复数的实部  原文:  accesses the real part of the complex number (公共成员函数)  | |
|    访问复数的虚部   (公共成员函数)  | |
|     两个复数或一个复数的和一个标量的复合赋值  原文:  compound assignment of two complex numbers or a complex and a scalar (公共成员函数)  | 
[编辑] 非成员函数
|     一元复数运算符   原文:  applies unary operators to complex numbers  (函数模板)  | |
|     进行两个复数或一个复数的和一个标量的复数算术运算  原文:  performs complex number arithmetics on two complex values or a complex and a scalar (函数模板)  | |
|     比较两个复数或一个复数和一个标量   原文:  compares two complex numbers or a complex and a scalar  (函数模板)  | |
|     序列化和反序列化一个复杂的数   原文:  serializes and deserializes a complex number  (函数模板)  | |
|     返回实部   (函数模板)  | |
|     返回虚部   (函数模板)  | |
|     返回复数的模   原文:  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::literals::complex_literals 名字空间  | |
|     代表纯虚数的 std::complex 字面值   (函数)  | |
[编辑] 例子
#include <iostream> #include <iomanip> #include <complex> #include <cmath> int main() { using namespace std::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语言文档 for 复数算数 
 |