std::complex<T>::complex
| Modèle primaire ( std::complex<T>) |
||
complex( const T& re = T(), const T& im = T() );
|
(1) | (jusqu'à C++14) |
constexpr complex( const T& re = T(), const T& im = T() );
|
(depuis C++14) | |
complex( const complex& other );
|
(2) | (jusqu'à C++14) |
constexpr complex( const complex& other );
|
(depuis C++14) (jusqu'à C++23) |
|
constexpr complex( const complex& other ) = default;
|
(depuis C++23) | |
template< class X >
complex( const complex<X>& other );
|
(3) | (jusqu'à C++14) |
template< class X >
constexpr complex( const complex<X>& other );
|
(depuis C++14) (jusqu'à C++23) |
|
template< class X >
constexpr explicit(/* see below */) complex( const complex<X>& other );
|
(depuis C++23) | |
| Spécialisation explicite standard std::complex<float> (jusqu'à C++23) |
||
complex( float re = 0.0f, float im = 0.0f );
|
(1) | (jusqu'à C++11) |
constexpr complex( float re = 0.0f, float im = 0.0f );
|
(depuis C++11) | |
constexpr complex( const complex<float>& other ) = default;
|
(2) | (depuis C++20) |
explicit complex( const complex<double>& other );
explicit complex( const complex<long double>& other );
|
(3) | (jusqu'à C++11) |
constexpr explicit complex( const complex<double>& other );
constexpr explicit complex( const complex<long double>& other );
|
(depuis C++11) | |
| Spécialisation explicite standard std::complex<double> (jusqu'à C++23) |
||
complex( double re = 0.0, double im = 0.0 );
|
(1) | (jusqu'à C++11) |
constexpr complex( double re = 0.0, double im = 0.0 );
|
(depuis C++11) | |
constexpr complex( const complex<double>& other ) = default;
|
(2) | (depuis C++20) |
complex( const complex<float>& other );
explicit complex( const complex<long double>& other );
|
(3) | (jusqu'à C++11) |
constexpr complex( const complex<float>& other );
constexpr explicit complex( const complex<long double>& other );
|
(depuis C++11) | |
| Spécialisation explicite standard std::complex<long double> (jusqu'à C++23) |
||
complex( long double re = 0.0L, long double im = 0.0L );
|
(1) | (jusqu'à C++11) |
constexpr complex( long double re = 0.0L, long double im = 0.0L );
|
(depuis C++11) | |
constexpr complex( const complex<long double>& other ) = default;
|
(2) | (depuis C++20) |
complex( const complex<float>& other );
complex( const complex<double>& other );
|
(3) | (jusqu'à C++11) |
constexpr complex( const complex<float>& other );
constexpr complex( const complex<double>& other );
|
(depuis C++11) | |
Construit l'objet std::complex. Les spécialisations explicites standard (std::complex<float>, std::complex<double> et std::complex<long double>) ont des déclarations de constructeur différentes du modèle primaire.(jusqu'à C++23)
re et de la partie imaginaire im.other.Les constructeurs de copie sont déclarés implicitement dans les spécialisations explicites standard.(jusqu'à C++20)|
Le modèle primaire fournit un modèle de constructeur de conversion, tandis que chaque spécialisation explicite standard fournit deux constructeurs non-modèles pour les deux autres spécialisations explicites standard. Les constructeurs non-modèles sont des constructeurs de conversion (c'est-à-dire non explicites) si et seulement si les conversions des parties réelle et imaginaire ne sont pas rétrécissantes. |
(jusqu'à C++23) |
|
Pour le modèle primaire, l'expression à l'intérieur de |
(depuis C++23) |
Paramètres
| re | - | la partie réelle |
| im | - | la partie imaginaire |
| other | - | un autre nombre complexe à utiliser comme source |
Notes
Depuis C++23, le constructeur de copie doit être trivial pour satisfaire l'exigence TriviallyCopyable , mais les implémentations le rendent généralement trivial dans tous les modes.
Voir aussi
|
assigne le contenu
(fonction membre publique) |
|
|
un littéral
std::complex
représentant un nombre purement imaginaire
(fonction) |
|
|
documentation C
pour
CMPLX
|
|