std::complex<T>:: complex
|
Plantilla principal (
std::
complex
<
T
>
)
|
||
| (1) | ||
|
complex
(
const
T
&
re
=
T
(
)
,
const
T
&
im
=
T
(
)
)
;
|
(hasta C++14) | |
|
constexpr
complex
(
const
T
&
re
=
T
(
)
,
const
T
&
im
=
T
(
)
)
;
|
(desde C++14) | |
| (2) | ||
|
complex
(
const
complex
&
other
)
;
|
(hasta C++14) | |
|
constexpr
complex
(
const
complex
&
other
)
;
|
(desde C++14)
(hasta C++23) |
|
|
constexpr
complex
(
const
complex
&
other
)
=
default
;
|
(desde C++23) | |
| (3) | ||
|
template
<
class
X
>
complex ( const complex < X > & other ) ; |
(hasta C++14) | |
|
template
<
class
X
>
constexpr complex ( const complex < X > & other ) ; |
(desde C++14)
(hasta C++23) |
|
|
template
<
class
X
>
constexpr explicit ( /* ver más abajo */ ) complex ( const complex < X > & other ) ; |
(desde C++23) | |
|
Especialización explícita estándar
std::
complex
<
float
>
(hasta C++23)
|
||
| (1) | ||
|
complex
(
float
re
=
0.0f
,
float
im
=
0.0f
)
;
|
(hasta C++11) | |
|
constexpr
complex
(
float
re
=
0.0f
,
float
im
=
0.0f
)
;
|
(desde C++11) | |
|
constexpr
complex
(
const
complex
<
float
>
&
other
)
=
default
;
|
(2) | (desde C++20) |
| (3) | ||
|
explicit
complex
(
const
complex
<
double
>
&
other
)
;
explicit complex ( const complex < long double > & other ) ; |
(hasta C++11) | |
|
constexpr
explicit
complex
(
const
complex
<
double
>
&
other
)
;
constexpr explicit complex ( const complex < long double > & other ) ; |
(desde C++11) | |
|
Especialización explícita estándar
std::
complex
<
double
>
(hasta C++23)
|
||
| (1) | ||
|
complex
(
double
re
=
0.0
,
double
im
=
0.0
)
;
|
(hasta C++11) | |
|
constexpr
complex
(
double
re
=
0.0
,
double
im
=
0.0
)
;
|
(desde C++11) | |
|
constexpr
complex
(
const
complex
<
double
>
&
other
)
=
default
;
|
(2) | (desde C++20) |
| (3) | ||
|
complex
(
const
complex
<
float
>
&
other
)
;
explicit complex ( const complex < long double > & other ) ; |
(hasta C++11) | |
|
constexpr
complex
(
const
complex
<
float
>
&
other
)
;
constexpr explicit complex ( const complex < long double > & other ) ; |
(desde C++11) | |
|
Especialización explícita estándar
std::
complex
<
long
double
>
(hasta C++23)
|
||
| (1) | ||
|
complex
(
long
double
re
=
0.0L,
long
double
im
=
0.0L
)
;
|
(hasta C++11) | |
|
constexpr
complex
(
long
double
re
=
0.0L,
long
double
im
=
0.0L
)
;
|
(desde C++11) | |
|
constexpr
complex
(
const
complex
<
long
double
>
&
other
)
=
default
;
|
(2) | (desde C++20) |
| (3) | ||
|
complex
(
const
complex
<
float
>
&
other
)
;
complex ( const complex < double > & other ) ; |
(hasta C++11) | |
|
constexpr
complex
(
const
complex
<
float
>
&
other
)
;
constexpr complex ( const complex < double > & other ) ; |
(desde C++11) | |
Construye el objeto std:: complex . Las especializaciones explícitas estándar ( std:: complex < float > , std:: complex < double > y std:: complex < long double > ) tienen declaraciones de constructor diferentes de la plantilla principal. (hasta C++23)
|
La plantilla principal proporciona una plantilla de constructor de conversión, mientras que cada especialización explícita estándar proporciona dos constructores no plantilla para las otras dos especializaciones explícitas estándar. Los constructores no plantilla son constructores de conversión (es decir, no explícitos) si y solo si las conversiones de las partes real e imaginaria no son de estrechamiento. |
(hasta C++23) |
|
Para la plantilla principal, la expresión dentro de
explicit
se evalúa como
false
si y solo si el
rango de conversión de punto flotante
de
|
(desde C++23) |
Parámetros
| re | - | la parte real |
| im | - | la parte imaginaria |
| other | - | otro número complejo a utilizar como fuente |
Notas
Desde C++23, el constructor de copia debe ser trivial para satisfacer el requisito TriviallyCopyable , pero las implementaciones generalmente lo hacen trivial en todos los modos.
Véase también
|
asigna los contenidos
(función miembro pública) |
|
|
un
std::complex
literal que representa un número puramente imaginario
(función) |
|
|
documentación de C
para
CMPLX
|
|