std::complex<T>::complex
cppreference.net에서
| 주 템플릿 ( std::complex<T>) |
||
complex( const T& re = T(), const T& im = T() );
|
(1) | (C++14까지) |
constexpr complex( const T& re = T(), const T& im = T() );
|
(C++14부터) | |
complex( const complex& other );
|
(2) | (C++14까지) |
constexpr complex( const complex& other );
|
(C++14부터) (C++23까지) |
|
constexpr complex( const complex& other ) = default;
|
(C++23부터) | |
template< class X >
complex( const complex<X>& other );
|
(3) | (C++14까지) |
template< class X >
constexpr complex( const complex<X>& other );
|
(C++14부터) (C++23까지) |
|
template< class X >
constexpr explicit(/* see below */) complex( const complex<X>& other );
|
(C++23부터) | |
| 표준 명시적 특수화 std::complex<float> (C++23까지) |
||
complex( float re = 0.0f, float im = 0.0f );
|
(1) | (C++11까지) |
constexpr complex( float re = 0.0f, float im = 0.0f );
|
(C++11부터) | |
constexpr complex( const complex<float>& other ) = default;
|
(2) | (C++20부터) |
explicit complex( const complex<double>& other );
explicit complex( const complex<long double>& other );
|
(3) | (C++11까지) |
constexpr explicit complex( const complex<double>& other );
constexpr explicit complex( const complex<long double>& other );
|
(C++11부터) | |
| 표준 명시적 특수화 std::complex<double> (C++23까지) |
||
complex( double re = 0.0, double im = 0.0 );
|
(1) | (C++11까지) |
constexpr complex( double re = 0.0, double im = 0.0 );
|
(C++11부터) | |
constexpr complex( const complex<double>& other ) = default;
|
(2) | (C++20부터) |
complex( const complex<float>& other );
explicit complex( const complex<long double>& other );
|
(3) | (C++11까지) |
constexpr complex( const complex<float>& other );
constexpr explicit complex( const complex<long double>& other );
|
(C++11부터) | |
| 표준 명시적 특수화 std::complex<long double> (C++23까지) |
||
complex( long double re = 0.0L, long double im = 0.0L );
|
(1) | (C++11까지) |
constexpr complex( long double re = 0.0L, long double im = 0.0L );
|
(C++11부터) | |
constexpr complex( const complex<long double>& other ) = default;
|
(2) | (C++20부터) |
complex( const complex<float>& other );
complex( const complex<double>& other );
|
(3) | (C++11까지) |
constexpr complex( const complex<float>& other );
constexpr complex( const complex<double>& other );
|
(C++11부터) | |
std::complex 객체를 생성합니다. 표준 명시적 특수화 (std::complex<float>, std::complex<double> 및 std::complex<long double>)는 주 템플릿과 다른 생성자 선언을 가집니다.(C++23까지)
1) 복소수를 실수부
re와 허수부 im로부터 생성합니다.2) 복사 생성자입니다.
other의 내용의 복사본으로 객체를 생성합니다.복사 생성자는 표준 명시적 특수화에서 암시적으로 선언됩니다.(C++20까지)3) 변환 생성자입니다. 다른 유형의 복소수로부터 객체를 생성합니다.
|
주 템플릿은 변환 생성자 템플릿을 제공하는 반면, 각 표준 명시적 특수화는 다른 두 표준 명시적 특수화에 대해 두 개의 비템플릿 생성자를 제공합니다. 비템플릿 생성자는 실수부와 허수부의 변환이 축소가 아닌 경우에만 변환 생성자(즉, 비명시적)입니다. |
(C++23까지) |
|
기본 템플릿의 경우, |
(C++23부터) |
매개변수
| re | - | 실수부 |
| im | - | 허수부 |
| other | - | 소스로 사용할 다른 복소수 |
참고 사항
C++23부터는 복사 생성자가 trivial 해야 TriviallyCopyable 요구 사항을 충족하지만, 구현체들은 일반적으로 모든 모드에서 이를 trivial하게 만듭니다.
참고 항목
|
내용을 할당함
(public member function) |
|
|
순수 허수를 나타내는
std::complex
리터럴
(function) |
|
|
C documentation
for
CMPLX
|
|