std::get(std::array)

From cppreference.com
< cpp‎ | container‎ | array
template< size_t I, class T, size_t N >
constexpr T& get( array<T,N>& a );
(1) (since C++11)
template< size_t I, class T, size_t N >
constexpr T&& get( array<T,N>&& a );
(2) (since C++11)
template< size_t I, class T, size_t N >
constexpr const T& get( const array<T,N>& a );
(3) (since C++11)

Extracts the Ith element element from the array.

I must be an integer value in range [0, N). This is enforced at compile time as opposed to at() or operator[].

Contents

[edit] Parameters

a - array whose contents to extract

[edit] Return value

1) Reference to the Ith element of a.

2) Rvalue reference to the Ith element of a, unless the element is of lvalue reference type, in which case lvalue reference is returned.

3) Const reference to the Ith element of a.

[edit] Exceptions

noexcept specification:  
noexcept
  

[edit] Notes

The overloads are marked as constexpr since C++14.

[edit] Example

#include <iostream>
#include <array>
 
int main()
{
    std::array<int, 3> arr;
 
    // set values:
    std::get<0>(arr) = 1;
    std::get<1>(arr) = 2;
    std::get<2>(arr) = 3;
 
    // get values:
    std::cout << "(" << std::get<0>(arr) << ", " << std::get<1>(arr)
              << ", " << std::get<2>(arr) << ")\n";
}

Output:

(1, 2, 3)

[edit] See also

access specified element
(public member function)
access specified element with bounds checking
(public member function)
tuple accesses specified element
(function template)
accesses an element of a pair
(function template)