Namespaces
Variants

std:: conj (std::complex)

From cppreference.net
定义于头文件 <complex>
(1)
template < class T >
std:: complex < T > conj ( const std:: complex < T > & z ) ;
(C++20 前)
template < class T >
constexpr std:: complex < T > conj ( const std:: complex < T > & z ) ;
(C++20 起)
附加重载 (C++11 起)
定义于头文件 <complex>
(A)
std:: complex < float > conj ( float f ) ;

std:: complex < double > conj ( double f ) ;

std:: complex < long double > conj ( long double f ) ;
(C++20 前)
constexpr std:: complex < float > conj ( float f ) ;

constexpr std:: complex < double > conj ( double f ) ;

constexpr std:: complex < long double > conj ( long double f ) ;
(C++20 起)
(C++23 前)
template < class FloatingPoint >
constexpr std:: complex < FloatingPoint > conj ( FloatingPoint f ) ;
(C++23 起)
(B)
template < class Integer >
constexpr std:: complex < double > conj ( Integer i ) ;
(C++20 前)
template < class Integer >
constexpr std:: complex < double > conj ( Integer i ) ;
(C++20 起)
1) 通过反转虚部的符号计算 z 复共轭
A,B) 为所有整数和浮点类型提供了额外的重载,这些类型被视为虚部为零的复数。
(since C++11)

目录

参数

z - 复数
f - 浮点数值
i - 整数值

返回值

1) z 的复共轭。
A) std:: complex ( f ) .
B) std:: complex < double > ( i )

注释

额外的重载不需要严格按照 (A,B) 的形式提供。只需确保对于其参数 num 而言:

  • 如果 num 具有 标准 (C++23 前) 浮点类型 T ,则 std :: conj ( num ) 的效果等同于 std :: conj ( std:: complex < T > ( num ) )
  • 否则,如果 num 具有整数类型,则 std :: conj ( num ) 的效果等同于 std :: conj ( std:: complex < double > ( num ) )

示例

#include <complex>
#include <iostream>
int main()
{
    std::complex<double> z(1.0, 2.0);
    std::cout << "The conjugate of " << z << " is " << std::conj(z) << '\n'
              << "Their product is " << z * std::conj(z) << '\n';
}

输出:

The conjugate of (1,2) is (1,-2)
Their product is (5,0)

参见

返回复数的模
(函数模板)
返回模的平方
(函数模板)
通过模和辐角构造复数
(函数模板)
C 文档 关于 conj