std:: pow (std::complex)
|
定义于头文件
<complex>
|
||
|
template
<
class
T
>
std:: complex < T > pow ( const std:: complex < T > & x, int y ) ; |
(1) | (C++11 前) |
|
template
<
class
T
>
std:: complex < T > pow ( const std:: complex < T > & x, const std:: complex < T > & y ) ; |
(2) | |
|
template
<
class
T
>
std:: complex < T > pow ( const std:: complex < T > & x, const T & y ) ; |
(3) | |
|
template
<
class
T
>
std:: complex < T > pow ( const T & x, const std:: complex < T > & y ) ; |
(4) | |
|
额外重载
(C++11 起)
|
||
|
定义于头文件
<complex>
|
||
| (A) | ||
|
template
<
class
T1,
class
T2
>
std::
complex
<
/* common-type */
>
|
(C++23 前) | |
|
template
<
class
T1,
class
T2
>
std::
complex
<
std::
common_type_t
<
T1, T2
>>
|
(C++23 起) | |
| (B) | ||
|
template
<
class
T,
class
NonComplex
>
std::
complex
<
/* common-type */
>
|
(C++23 前) | |
|
template
<
class
T,
class
NonComplex
>
std::
complex
<
std::
common_type_t
<
T, NonComplex
>>
|
(C++23 起) | |
| (C) | ||
|
template
<
class
T,
class
NonComplex
>
std::
complex
<
/* common-type */
>
|
(C++23 前) | |
|
template
<
class
T,
class
NonComplex
>
std::
complex
<
std::
common_type_t
<
T, NonComplex
>>
|
(C++23 起) | |
| (since C++11) |
目录 |
参数
| x | - | 底数 |
| y | - | 指数 |
返回值
。
注释
重载 (1) 在 C++98 中提供,以匹配 std::pow 的额外重载 (2) 。这些重载通过 LWG 问题 550 的决议被移除,而重载 (1) 则通过 LWG 问题 844 的决议被移除。
额外的重载并不需要完全按照 (A-C) 的形式提供。它们只需确保对于第一个参数 base 和第二个参数 exponent 满足:
|
如果 base 和/或 exponent 具有类型 std:: complex < T > :
|
(C++23 前) |
|
如果一个参数具有类型
std::
complex
<
T1
>
且另一个参数具有类型
如果 std:: common_type_t < T1, T2 > 的格式不正确,则程序非良构。 |
(C++23 起) |
示例
#include <complex> #include <iostream> int main() { std::cout << std::fixed; std::complex<double> z(1.0, 2.0); std::cout << "(1,2)^2 = " << std::pow(z, 2) << '\n'; std::complex<double> z2(-1.0, 0.0); // -1 的平方根 std::cout << "-1^0.5 = " << std::pow(z2, 0.5) << '\n'; std::complex<double> z3(-1.0, -0.0); // 分支切割的另一侧 std::cout << "(-1,-0)^0.5 = " << std::pow(z3, 0.5) << '\n'; std::complex<double> i(0.0, 1.0); // i^i = exp(-pi / 2) std::cout << "i^i = " << std::pow(i, i) << '\n'; }
输出:
(1,2)^2 = (-3.000000,4.000000) -1^0.5 = (0.000000,1.000000) (-1,-0)^0.5 = (0.000000,-1.000000) i^i = (0.207880,0.000000)
参见
|
右半平面范围内的复数平方根
(函数模板) |
|
|
(C++11)
(C++11)
|
对数值进行给定次幂运算 (
x
y
)
(函数) |
|
将函数
std::pow
应用于两个 valarray 或一个 valarray 与一个值
(函数模板) |
|
|
C 文档
关于
cpow
|
|