operator==,!=(std::complex)
From cppreference.com
| ヘッダ <complex> で定義 |
||
| (1) | ||
template< class T > bool operator==( const complex<T>& lhs, const complex<T>& rhs ); |
(C++14まで) | |
| template< class T > constexpr bool operator==( const complex<T>& lhs, const complex<T>& rhs ); |
(C++14以降) | |
| (2) | ||
template< class T > bool operator==( const complex<T>& lhs, const T& rhs ); |
(C++14まで) | |
| template< class T > constexpr bool operator==( const complex<T>& lhs, const T& rhs ); |
(C++14以降) | |
| (3) | ||
template< class T > bool operator==( const T& lhs, const complex<T>& rhs ); |
(C++14まで) | |
| template< class T > constexpr bool operator==( const T& lhs, const complex<T>& rhs ); |
(C++14以降) (C++20まで) |
|
| (4) | ||
template< class T > bool operator!=( const complex<T>& lhs, const complex<T>& rhs ); |
(C++14まで) | |
| template< class T > constexpr bool operator!=( const complex<T>& lhs, const complex<T>& rhs ); |
(C++14以降) (C++20まで) |
|
| (5) | ||
template< class T > bool operator!=( const complex<T>& lhs, const T& rhs ); |
(C++14まで) | |
| template< class T > constexpr bool operator!=( const complex<T>& lhs, const T& rhs ); |
(C++14以降) (C++20まで) |
|
| (6) | ||
template< class T > bool operator!=( const T& lhs, const complex<T>& rhs ); |
(C++14まで) | |
| template< class T > constexpr bool operator!=( const T& lhs, const complex<T>& rhs ); |
(C++14以降) (C++20まで) |
|
2つの複素数を比較します。スカラー引数は、実部が引数と等しく虚部がゼロの複素数として扱われます。
1-3) lhs と rhs を等価比較します。
4-6) lhs と rhs を不等価比較します。
|
|
(C++20以降) |
[編集] パラメータ
| lhs, rhs | - | 比較対象の引数:両方とも複素数であるか、または一方の複素数と一致する型のスカラー(float、double、long double) |
[編集] 戻り値
1-3) true lhs の対応する部分が rhs と等しい場合、それ以外の場合は false。
4-6) !(lhs == rhs)
[編集] 例
このコードを実行
#include <complex> int main() { using std::operator""i; // or: using namespace std::complex_literals; static_assert(1.0i == 1.0i); static_assert(2.0i != 1.0i); constexpr std::complex z(1.0, 0.0); static_assert(z == 1.0); static_assert(1.0 == z); static_assert(2.0 != z); static_assert(z != 2.0); }