numeric_complex

numeric_complex (복소수 라이브러리)

std::complex는 복소수를 표현하고 조작하기 위한 클래스 템플릿이에요. <complex> 헤더에 정의되어 있어요.

출처: cppreference

본문

<complex> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.

template< class T >
class complex;

(1)

template<> class complex<float>;

(2) (until C++23)

template<> class complex<double>;

(3) (until C++23)

template<> class complex<long double>;

(4) (until C++23)

cv 한정되지 않은 표준(C++23까지) 부동소수점 타입에 대한 std::complex의 특수화는 복소수를 표현·조작하기 위한 TriviallyCopyable(C++23부터) LiteralType이에요.

템플릿 매개변수 (Template parameters)

  • T — 실수부와 허수부의 타입. T가 cv 한정되지 않은 표준(C++23까지) 부동소수점 타입이 아니면 동작은 지정되지 않고(컴파일 실패할 수 있음) T가 NumericType이 아니면 동작은 정의되지 않아요.

멤버 타입 (Member types)

멤버 타입 정의
value_type T

멤버 함수 (Member functions)

  • (constructor) — 복소수를 생성해요 (공개 멤버 함수)
  • operator= — 내용을 할당해요 (공개 멤버 함수)
  • real — 복소수의 실수부에 접근해요 (공개 멤버 함수)
  • imag — 복소수의 허수부에 접근해요 (공개 멤버 함수)
  • operator+= operator-= operator*= operator/= — 두 복소수 또는 복소수와 스칼라의 복합 할당 (공개 멤버 함수)

비멤버 함수 (Non-member functions)

  • operator+ operator- — 복소수에 단항 연산자를 적용 (함수 템플릿)
  • operator+ operator- operator* operator/ — 두 복소수 값 또는 복소수와 스칼라에 복소수 산술 수행 (함수 템플릿)
  • operator== operator!= (C++20에서 제거) — 두 복소수 또는 복소수와 스칼라 비교 (함수 템플릿)
  • operator<< operator>> — 복소수 직렬화/역직렬화 (함수 템플릿)
  • get(std::complex) (C++26) — std::complex에서 실수부 또는 허수부 참조 획득 (함수 템플릿)
  • real — 실수부 반환 (함수 템플릿)
  • imag — 허수부 반환 (함수 템플릿)
  • abs(std::complex) — 복소수의 크기 반환 (함수 템플릿)
  • arg — 위상각 반환 (함수 템플릿)
  • norm — 크기의 제곱 반환 (함수 템플릿)
  • conj — 켤레복소수 반환 (함수 템플릿)
  • proj (C++11) — 리만 구면으로의 투영 반환 (함수 템플릿)
  • polar — 크기와 위상각으로 복소수 생성 (함수 템플릿)

지수 함수 (Exponential functions)

  • exp(std::complex) — 복소수 밑 e 지수 (함수 템플릿)
  • log(std::complex) — 복소수 자연로그 (함수 템플릿)
  • log10 — 복소수 상용로그 (함수 템플릿)
  • pow — 복소수 거듭제곱 (함수 템플릿)
  • sqrt — 복소수 제곱근 (함수 템플릿)

(그 외 삼각·쌍곡 함수와 관련 함수들도 <complex>에 정의되어 있어요.)

더 알아보기 (Learn more)

cppreference