Namespaces
Variants

std:: get (std::array)

From cppreference.net
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)
accède à l'élément spécifié du tuple
(modèle de fonction)
accède à un élément d'une pair
(modèle de fonction)
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)
obtient un itérateur ou un sentinelle d'un std::ranges::subrange
(modèle de fonction)
obtient une référence à la partie réelle ou imaginaire d'un std::complex
(modèle de fonction)