std::get(std::pair)
提供: cppreference.com
ヘッダ <utility> で定義
|
||
(1) | ||
template< size_t I, class T1, class T2 > typename std::tuple_element<I, std::pair<T1,T2> >::type& |
(1) | (C++11以上) (C++14未満) |
template< size_t I, class T1, class T2 > constexpr std::tuple_element_t<I, std::pair<T1,T2> >& |
(1) | (C++14以上) |
(2) | ||
template< size_t I, class T1, class T2 > const typename std::tuple_element<I, std::pair<T1,T2> >::type& |
(2) | (C++11以上) (C++14未満) |
template< size_t I, class T1, class T2 > constexpr const std::tuple_element_t<I, std::pair<T1,T2> >& |
(2) | (C++14以上) |
(3) | ||
template< size_t I, class T1, class T2 > typename std::tuple_element<I, std::pair<T1,T2> >::type&& |
(3) | (C++11以上) (C++14未満) |
template< size_t I, class T1, class T2 > constexpr std::tuple_element_t<I, std::pair<T1,T2> >&& |
(3) | (C++14以上) |
template< size_t I, class T1, class T2 > constexpr const std::tuple_element_t<I, std::pair<T1,T2> >&& |
(4) | (C++17以上) |
template <class T, class U> constexpr T& get(std::pair<T, U>& p) noexcept; |
(5) | (C++14以上) |
template <class T, class U> constexpr const T& get(const std::pair<T, U>& p) noexcept; |
(6) | (C++14以上) |
template <class T, class U> constexpr T&& get(std::pair<T, U>&& p) noexcept; |
(7) | (C++14以上) |
template <class T, class U> constexpr const T&& get(const std::pair<T, U>&& p) noexcept; |
(8) | (C++17以上) |
template <class T, class U> constexpr T& get(std::pair<U, T>& p) noexcept; |
(9) | (C++14以上) |
template <class T, class U> constexpr const T& get(const std::pair<U, T>& p) noexcept; |
(10) | (C++14以上) |
template <class T, class U> constexpr T&& get(std::pair<U, T>&& p) noexcept; |
(11) | (C++14以上) |
template <class T, class U> constexpr const T&& get(const std::pair<U, T>&& p) noexcept; |
(12) | (C++17以上) |
タプルライクなインタフェースを使用してペアから要素を���り出します。
インデックスベースのオーバーロード (1-4) は、インデックス I
が0でも1でもなければ、コンパイルに失敗します。
型ベースのオーバーロード (5-12) は、型 T
と型 U
が等しい場合、コンパイルに失敗します。
目次 |
[編集] 引数
p | - | 内容を取り出すペア |
[編集] 戻り値
1-4)
I==0
の場合は p.first
を指す参照、 I==1
の場合は p.second
を指す参照を返します。5-8)
p.first
を指す参照を返します。9-12)
p.second
を指す参照を返します。[編集] 例外
Run this code
#include <iostream> #include <utility> int main() { auto p = std::make_pair(1, 3.14); std::cout << '(' << std::get<0>(p) << ", " << std::get<1>(p) << ")\n"; std::cout << '(' << std::get<int>(p) << ", " << std::get<double>(p) << ")\n"; }
出力:
(1, 3.14) (1, 3.14)
[編集] 関連項目
タプルの指定された要素にアクセスします (関数テンプレート) | |
array の要素にアクセスします (関数テンプレート) | |
(C++17) |
指定されたインデックスまたは型 (一意な場合) の値を variant から読み込みます。 エラーの場合は例外を投げます (関数テンプレート) |