description | title | ms.date | f1_keywords | ms.assetid | helpviewer_keywords | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Learn more about: <array> functions | <array> functions | 11/04/2016 |
| e0700a33-a833-4655-8735-16e71175efc8 |
|
The <array> header includes two non-member functions, get
and swap
, that operate on array objects.
Returns a reference to the specified element of the array.
template <int Index, classT, size_t N> constexpr T& get(array<T, N>& arr) noexcept; template <int Index, classT, size_t N> constexprconst T& get(const array<T, N>& arr) noexcept; template <int Index, classT, size_t N> constexpr T&& get(array<T, N>&& arr) noexcept;
Index
The element offset.
T
The type of an element.
N
The number of elements in the array.
arr
The array to select from.
#include<array> #include<iostream>usingnamespacestd;typedef array<int, 4> MyArray; intmain() { MyArray c0 { 0, 1, 2, 3 }; // display contents " 0 1 2 3"for (constauto& e : c0) { cout << "" << e; } cout << endl; // display odd elements " 1 3" cout << "" << get<1>(c0); cout << "" << get<3>(c0) << endl; }
0 1 2 3 1 3
A non-member template specialization of std::swap
that swaps two array objects.
template <classTy, std::size_t N> voidswap(array<Ty, N>& left, array<Ty, N>& right);
Ty
The type of an element.
N
The size of the array.
left
The first array to swap.
right
The second array to swap.
The template function executes left.swap(right)
.
// std__array__swap.cpp// compile with: /EHsc #include<array> #include<iostream>typedef std::array<int, 4> Myarray; intmain() { Myarray c0 = { 0, 1, 2, 3 }; // display contents " 0 1 2 3"for (Myarray::const_iterator it = c0.begin(); it != c0.end(); ++it) std::cout << "" << *it; std::cout << std::endl; Myarray c1 = { 4, 5, 6, 7 }; c0.swap(c1); // display swapped contents " 4 5 6 7"for (Myarray::const_iterator it = c0.begin(); it != c0.end(); ++it) std::cout << "" << *it; std::cout << std::endl; swap(c0, c1); // display swapped contents " 0 1 2 3"for (Myarray::const_iterator it = c0.begin(); it != c0.end(); ++it) std::cout << "" << *it; std::cout << std::endl; return (0); }
0 1 2 3 4 5 6 7 0 1 2 3