std:: pow (std::complex)
|
Definiert in Header
<complex>
|
||
|
template
<
class
T
>
std:: complex < T > pow ( const std:: complex < T > & x, int y ) ; |
(1) | (bis 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) | |
|
Zusätzliche Überladungen
(seit C++11)
|
||
|
Definiert in Header
<complex>
|
||
| (A) | ||
|
template
<
class
T1,
class
T2
>
std::
complex
<
/* gemeinsamer Typ */
>
|
(bis C++23) | |
|
template
<
class
T1,
class
T2
>
std::
complex
<
std::
common_type_t
<
T1, T2
>>
|
(seit C++23) | |
| (B) | ||
|
template
<
class
T,
class
NonComplex
>
std::
complex
<
/* gemeinsamer Typ */
>
|
(bis C++23) | |
|
template
<
class
T,
class
NonComplex
>
std::
complex
<
std::
common_type_t
<
T, NonComplex
>>
|
(seit C++23) | |
| (C) | ||
|
template
<
class
T,
class
NonComplex
>
std::
complex
<
/* gemeinsamer Typ */
>
|
(bis C++23) | |
|
template
<
class
T,
class
NonComplex
>
std::
complex
<
std::
common_type_t
<
T, NonComplex
>>
|
(seit C++23) | |
|
A-C)
Zusätzliche Überladungen werden bereitgestellt.
NonComplex
ist keine Spezialisierung von
std::complex
.
|
(since C++11) |
Inhaltsverzeichnis |
Parameter
| x | - | Basis |
| y | - | Exponent |
Rückgabewert
zurückgegeben.
Hinweise
Überladung (1) wurde in C++98 bereitgestellt, um die zusätzlichen Überladungen (2) von std::pow abzudecken. Diese Überladungen wurden durch die Lösung von LWG Issue 550 entfernt, und Überladung (1) wurde durch die Lösung von LWG Issue 844 entfernt.
Die zusätzlichen Überladungen müssen nicht exakt als (A-C) bereitgestellt werden. Sie müssen lediglich ausreichen, um sicherzustellen, dass für ihr erstes Argument base und zweites Argument exponent :
|
Falls base und/oder exponent den Typ std:: complex < T > haben:
|
(bis C++23) |
|
Wenn ein Argument den Typ
std::
complex
<
T1
>
hat und das andere Argument den Typ
Wenn std:: common_type_t < T1, T2 > nicht wohlgeformt ist, dann ist das Programm fehlerhaft. |
(seit C++23) |
Beispiel
#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); // Quadratwurzel von -1 std::cout << "-1^0.5 = " << std::pow(z2, 0.5) << '\n'; std::complex<double> z3(-1.0, -0.0); // andere Seite des Schnitts 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'; }
Ausgabe:
(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)
Siehe auch
|
Komplexe Quadratwurzel im Bereich der rechten Halbebene
(Funktions-Template) |
|
|
(C++11)
(C++11)
|
Potenziert eine Zahl mit dem gegebenen Exponenten (
x
y
)
(Funktion) |
|
Wendet die Funktion
std::pow
auf zwei Valarrays oder ein Valarray und einen Wert an
(Funktions-Template) |
|
|
C-Dokumentation
für
cpow
|
|