Skip to content

Latest commit

 

History

History
81 lines (55 loc) · 1.69 KB

File metadata and controls

81 lines (55 loc) · 1.69 KB

get

  • complex[meta header]
  • std[meta namespace]
  • function template[meta id-type]
  • cpp26[meta cpp]
namespace std {
  template <std::size_t I, class T>
  constexpr T& get(complex<T>& z) noexcept;               // (1) C++26

  template <std::size_t I, class T>
  constexpr T&& get(complex<T>&& z) noexcept;             // (2) C++26

  template <std::size_t I, class T>
  constexpr const T& get(const complex<T>& z) noexcept;   // (3) C++26

  template <std::size_t I, class T>
  constexpr const T&& get(const complex<T>&& z) noexcept; // (4) C++26
}

概要

タプルと見なせる型から指定した位置の要素を取得する。

<complex>ヘッダでは、std::complexクラスに関するオーバーロードを定義する。

適格要件

  • I < 2であること

戻り値

I == 0の場合は実部 (real)、そうでない場合は虚部 (imag) を返す。

例外

投げない

#include <print>
#include <complex>

int main()
{
  std::complex<float> c{1.0f, 2.0f};

  float real = std::get<0>(c);
  float imag = std::get<1>(c);

  std::println("real:{} imag:{}", real, imag);
}
  • std::get[color ff0000]

出力

real:1 imag:2

バージョン

言語

  • C++26

処理系

  • Clang: 19.0 [mark noimpl]
  • GCC: 14 [mark noimpl]
  • Visual C++: 2022 Update 10 [mark noimpl]

関連項目

参照