标准库标头 <complex>

来自cppreference.com
< cpp‎ | header


 
 
标准库头
 

此头文件是数值库的一部分。

目录

[编辑]

复数类型
(类模板)

[编辑]函数

运算
对复数运用一元运算符
(函数模板)[编辑]
在两个复数,或一个复数与一个标量上进行复数算术运算
(函数模板)[编辑]
(C++20 移除)
比较两个复数,或一个复数与一个标量
(函数模板)[编辑]
复数的序列化和反序列化
(函数模板)[编辑]
返回实部
(函数模板)[编辑]
返回虚部
(函数模板)[编辑]
返回复数的模
(函数模板)[编辑]
返回辐角
(函数模板)[编辑]
返回模(范数)的平方
(函数模板)[编辑]
返回复共轭
(函数模板)[编辑]
(C++11)
返回到黎曼球上的投影
(函数模板)[编辑]
从模和辐角构造复数
(函数模板)[编辑]
指数函数
e 为底复数的指数
(函数模板)[编辑]
沿负实轴切割的复自然对数
(函数模板)[编辑]
沿负实轴分割的复常用对数
(函数模板)[编辑]
幂函数
复数幂,一或两个实参可为复数
(函数模板)[编辑]
右半平面范围中的复平方根
(函数模板)[编辑]
三角函数
计算复数的正弦(sin(z)
(函数模板)[编辑]
计算复数的余弦(cos(z)
(函数模板)[编辑]
计算复数的正切(tan(z)
(函数模板)[编辑]
计算复数的反正弦(arcsin(z)
(函数模板)[编辑]
计算复数的反余弦(arccos(z)
(函数模板)[编辑]
计算复数的反正切(arctan(z)
(函数模板)[编辑]
双曲函数
计算复数的双曲正弦(sinh(z)
(函数模板)[编辑]
计算复数的双曲余弦(cosh(z)
(函数模板)[编辑]
计算复数的双曲正切(tanh(z)
(函数模板)[编辑]
计算复数的反双曲正弦(arsinh(z)
(函数模板)[编辑]
计算复数的反双曲余弦(arcosh(z)
(函数模板)[编辑]
计算复数的反双曲正切(artanh(z)
(函数模板)[编辑]
字面量
表示纯虚数的 std::complex 字面量
(函数)[编辑]

[编辑]概要

namespace std {template<class T>class complex;   template<>class complex<float>;template<>class complex<double>;template<>class complex<longdouble>;   // 运算符:template<class T>constexpr complex<T> operator+(const complex<T>&, const complex<T>&);template<class T>constexpr complex<T> operator+(const complex<T>&, const T&);template<class T>constexpr complex<T> operator+(const T&, const complex<T>&);   template<class T>constexpr complex<T> operator-(const complex<T>&, const complex<T>&);template<class T>constexpr complex<T> operator-(const complex<T>&, const T&);template<class T>constexpr complex<T> operator-(const T&, const complex<T>&);   template<class T>constexpr complex<T> operator*(const complex<T>&, const complex<T>&);template<class T>constexpr complex<T> operator*(const complex<T>&, const T&);template<class T>constexpr complex<T> operator*(const T&, const complex<T>&);   template<class T>constexpr complex<T> operator/(const complex<T>&, const complex<T>&);template<class T>constexpr complex<T> operator/(const complex<T>&, const T&);template<class T>constexpr complex<T> operator/(const T&, const complex<T>&);   template<class T>constexpr complex<T> operator+(const complex<T>&);template<class T>constexpr complex<T> operator-(const complex<T>&);   template<class T>constexprbool operator==(const complex<T>&, const complex<T>&);template<class T>constexprbool operator==(const complex<T>&, const T&);template<class T>constexprbool operator==(const T&, const complex<T>&);   template<class T>constexprbool operator!=(const complex<T>&, const complex<T>&);template<class T>constexprbool operator!=(const complex<T>&, const T&);template<class T>constexprbool operator!=(const T&, const complex<T>&);   template<class T, class CharT, class Traits> basic_istream<CharT, Traits>& operator>>(basic_istream<CharT, Traits>&, complex<T>&);   template<class T, class CharT, class Traits> basic_ostream<CharT, Traits>& operator<<(basic_ostream<CharT, Traits>&, const complex<T>&);   // 值:template<class T>constexpr T real(const complex<T>&);template<class T>constexpr T imag(const complex<T>&);   template<class T> T abs(const complex<T>&);template<class T> T arg(const complex<T>&);template<class T>constexpr T norm(const complex<T>&);   template<class T>constexpr complex<T> conj(const complex<T>&);template<class T> complex<T> proj(const complex<T>&);template<class T> complex<T> polar(const T&, const T&=0);   // 超越函数:template<class T> complex<T> acos(const complex<T>&);template<class T> complex<T> asin(const complex<T>&);template<class T> complex<T> atan(const complex<T>&);   template<class T> complex<T> acosh(const complex<T>&);template<class T> complex<T> asinh(const complex<T>&);template<class T> complex<T> atanh(const complex<T>&);   template<class T> complex<T> cos (const complex<T>&);template<class T> complex<T> cosh (const complex<T>&);template<class T> complex<T> exp (const complex<T>&);template<class T> complex<T> log (const complex<T>&);template<class T> complex<T> log10(const complex<T>&);   template<class T> complex<T> pow(const complex<T>&, const T&);template<class T> complex<T> pow(const complex<T>&, const complex<T>&);template<class T> complex<T> pow(const T&, const complex<T>&);   template<class T> complex<T> sin (const complex<T>&);template<class T> complex<T> sinh(const complex<T>&);template<class T> complex<T> sqrt(const complex<T>&);template<class T> complex<T> tan (const complex<T>&);template<class T> complex<T> tanh(const complex<T>&);   // 元组接口:template<class T>struct tuple_size;template<size_t I, class T>struct tuple_element;template<class T>struct tuple_size<complex<T>>;template<size_t I, class T>struct tuple_element<I, complex<T>>;template<size_t I, class T>constexpr T& get(complex<T>&)noexcept;template<size_t I, class T>constexpr T&& get(complex<T>&&)noexcept;template<size_t I, class T>constexprconst T& get(const complex<T>&)noexcept;template<size_t I, class T>constexprconst T&& get(const complex<T>&&)noexcept;   // 复数字面量:inlinenamespace literals {inlinenamespace complex_literals {constexpr complex<longdouble> operator""il(longdouble);constexpr complex<longdouble> operator""il(unsignedlonglong);constexpr complex<double> operator""i(longdouble);constexpr complex<double> operator""i(unsignedlonglong);constexpr complex<float> operator""if(longdouble);constexpr complex<float> operator""if(unsignedlonglong);}}}

[编辑]std::complex

template<class T>class complex {public:typedef T value_type;constexpr complex(const T& re = T(), const T& im = T());constexpr complex(const complex&)=default;template<class X>constexprexplicit(/* 见构造函数页面 */) complex(const complex<X>&);   constexpr T real()const;constexprvoid real(T);constexpr T imag()const;constexprvoid imag(T);   constexpr complex<T>& operator=(const T&);constexpr complex<T>& operator+=(const T&);constexpr complex<T>& operator-=(const T&);constexpr complex<T>& operator*=(const T&);constexpr complex<T>& operator/=(const T&);   constexpr complex& operator=(const complex&);template<class X>constexpr complex<T>& operator=(const complex<X>&);template<class X>constexpr complex<T>& operator+=(const complex<X>&);template<class X>constexpr complex<T>& operator-=(const complex<X>&);template<class X>constexpr complex<T>& operator*=(const complex<X>&);template<class X>constexpr complex<T>& operator/=(const complex<X>&);};

[编辑]缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
LWG 79 C++98 概要中缺失了 polar 的第二个形参的默认实参 已补充
close