std:: get (std::array)
|
Défini dans l'en-tête
<array>
|
||
|
template
<
std::
size_t
I,
class
T,
std::
size_t
N
>
T & get ( std:: array < T,N > & a ) noexcept ; |
(1) |
(depuis C++11)
(constexpr depuis C++14) |
|
template
<
std::
size_t
I,
class
T,
std::
size_t
N
>
T && get ( std:: array < T,N > && a ) noexcept ; |
(2) |
(depuis C++11)
(constexpr depuis C++14) |
|
template
<
std::
size_t
I,
class
T,
std::
size_t
N
>
const T & get ( const std:: array < T,N > & a ) noexcept ; |
(3) |
(depuis C++11)
(constexpr depuis C++14) |
|
template
<
std::
size_t
I,
class
T,
std::
size_t
N
>
const T && get ( const std:: array < T,N > && a ) noexcept ; |
(4) |
(depuis C++11)
(constexpr depuis C++14) |
Extrait le
I
ème
élément du tableau en utilisant l'interface
tuple-like
.
I
doit être une valeur entière dans l'intervalle
[
0
,
N
)
. Ceci est vérifié au moment de la compilation contrairement à
at()
ou
operator[]
.
Table des matières |
Paramètres
| a | - | tableau dont le contenu doit être extrait |
Valeur de retour
Une référence au
I
ème
élément de
a
.
Complexité
Constante.
Exemple
#include <array> #include <iostream> constexpr std::array v{1, 2, 3}; static_assert(get<0>(v) == 1 && get<1>(v) == 2 && get<2>(v) == 3); int main() { std::array<int, 3> a; // définir les valeurs : get<0>(a) = 1, get<1>(a) = 2, get<2>(a) = 3; // obtenir les valeurs : std::cout << '(' << get<0>(a) << ',' << get<1>(a) << ',' << get<2>(a) << ")\n"; }
Sortie :
(1,2,3)
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Appliqué à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 2485 | C++11 | il n'y a pas de surcharges pour const array&& | les surcharges sont ajoutées |
Voir aussi
| Structured binding (C++17) | lie les noms spécifiés aux sous-objets ou éléments de tuple de l'initialiseur |
|
accède à l'élément spécifié
(fonction membre publique) |
|
|
accède à l'élément spécifié avec vérification des limites
(fonction membre publique) |
|
|
(C++11)
|
accède à l'élément spécifié du tuple
(modèle de fonction) |
|
(C++11)
|
accède à un élément d'une
pair
(modèle de fonction) |
|
(C++17)
|
lit la valeur du variant donné l'index ou le type (si le type est unique), lance une exception en cas d'erreur
(modèle de fonction) |
|
(C++20)
|
obtient un itérateur ou un sentinelle d'un
std::ranges::subrange
(modèle de fonction) |
|
(C++26)
|
obtient une référence à la partie réelle ou imaginaire d'un
std::complex
(modèle de fonction) |