std::get(std::complex)
From cppreference.com
| ヘッダ <complex> で定義 |
||
| template< std::size_t I > friend constexpr T& get( std::complex<T>& x ); |
(1) | (C++26以降) |
| template< std::size_t I > friend constexpr const T& get( const std::complex<T>& x ); |
(2) | (C++26以降) |
| template< std::size_t I > friend constexpr T&& get( std::complex<T>&& x ); |
(3) | (C++26以降) |
| template< std::size_t I > friend constexpr const T&& get( const std::complex<T>&& x ); |
(4) | (C++26以降) |
complex の実部または虚部への参照を返します。これは、それぞれ I == 0 または I == 1 の場合に該当します。主に構造化束縛のサポートのために提供されています。
目次 |
[edit] パラメータ
| x | - | complex |
[edit] 戻り値
1-4) 格納されている実部または虚部への参照。それぞれ I == 0 または I == 1 の場合。
[edit] ノート
| 機能テストマクロ | 値 | 規格 | 機能 |
|---|---|---|---|
__cpp_lib_tuple_like |
202311L |
(C++26) | std::complex にタプルプロトコルを追加 |
[edit] 例
このコードを実行
#include <complex> static_assert([z = std::complex(1.0, 2.0)] { #if __cpp_lib_tuple_like >= 202311L return std::get<0>(z) == 1.0 and std::get<1>(z) == 2.0; #else return z.real() == 1.0 and z.imag() == 2.0; #endif }()); int main() {}
[edit] 関連項目
| 構造化束縛 (C++17) | 指定された名前を初期化子のサブオブジェクトまたはタプル要素に束縛します |
| (C++11) |
tuple は指定された要素にアクセスする (関数テンプレート) |
| (C++11) |
pairの要素にアクセスする(関数テンプレート) |
| (C++11) |
array の要素にアクセスする(関数テンプレート) |