array Classe (bibliothèque standard C++)

Décrit un objet qui contrôle une séquence de longueur N constituée d'éléments de type Ty. La séquence est stockée comme tableau de Ty, contenu dans l'objet array<Ty, N>.

Syntaxe

template <class Ty, std::size_t N>
class array;

Paramètres

Ty
Type d’un élément.

N
Nombre d'éléments.

Membres

Définition de type Description
const_iterator Type d'un itérateur constant pour la séquence contrôlée.
const_pointer Type d'un pointeur constant vers un élément.
const_reference Type d'une référence constante à un élément.
const_reverse_iterator Type d'un itérateur inserve constant pour la séquence contrôlée.
difference_type Type d'une distance signée entre deux éléments.
iterator Type d'un itérateur pour la séquence contrôlée.
pointer Type d'un pointeur vers un élément.
reference Type d'une référence à un élément.
reverse_iterator Type d'un itérateur inverse pour la séquence contrôlée.
size_type Type d'une distance non signée entre deux éléments.
value_type Type d’un élément.
Fonction membre Description
array Construit un objet tableau.
assign (Obsolète. Utiliser fill.) Remplace tous les éléments.
at Accède à un élément à une position spécifiée.
back Accède au dernier élément.
begin Désigne le début de la séquence contrôlée.
cbegin Retourne un itérateur const à accès aléatoire pointant vers le premier élément du tableau.
cend Retourne un itérateur à accès aléatoire qui pointe juste après la fin du tableau.
crbegin Retourne un itérateur const qui traite le premier élément d'un tableau inversé.
crend Retourne un itérateur const qui pointe vers la fin d'un tableau inversé.
data Obtient l'adresse du premier élément.
empty Vérifie la présence d'éléments.
end Désigne la fin de la séquence contrôlée.
fill Remplace tous les éléments par une valeur spécifiée.
front Accède au premier élément.
max_size Compte le nombre d'éléments.
rbegin Désigne le début de la séquence contrôlée inverse.
rend Désigne la fin de la séquence contrôlée inverse.
size Compte le nombre d'éléments.
swap Échange le contenu de deux conteneurs.
Opérateur Description
array::operator= Remplace la séquence contrôlée.
array::operator[] Accède à un élément à une position spécifiée.

Notes

Le type a un constructeur par défaut array() et un opérateur d'assignation par défaut operator=, et il satisfait aux conditions requises pour un aggregate. Par conséquent, les objets de type array<Ty, N> peuvent être initialisés à l'aide d'un initialiseur d'agrégat. Par exemple :

array<int, 4> ai = { 1, 2, 3 };

crée l'objet ai qui contient quatre valeurs entières, initialise les trois premiers éléments respectivement aux valeurs 1, 2 et 3, et initialise le quatrième élément à la valeur 0.

Spécifications

En-tête<array>:

Espace de noms :std

array::array

Construit un objet tableau.

array();

array(const array& right);

Paramètres

right
Objet ou plage à insérer.

Notes

Le constructeur par défaut array() laisse la séquence contrôlée non initialisée (ou initialisée par défaut). Vous l’utilisez pour spécifier une séquence contrôlée non initialisée.

Le constructeur de copie array(const array& right) initialise la séquence contrôlée par la séquence [right.begin(), right.end()). Vous l’utilisez pour spécifier une séquence contrôlée initiale qui est une copie de la séquence contrôlée par l’objet righttableau .

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    Myarray c1(c0);

    // display contents " 0 1 2 3"
    for (const auto& it : c1)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0 1 2 3

array::assign

Obsolète en C++11, remplacé par fill. Remplace tous les éléments.

array::at

Accède à un élément à une position spécifiée.

reference at(size_type off);

constexpr const_reference at(size_type off) const;

Paramètres

off
Position de l'élément auquel accéder.

Notes

Les fonctions membres retournent une référence à l'élément de la séquence contrôlée à la position off. Si cet emplacement n'est pas valide, la fonction lève un objet de classe out_of_range.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display odd elements " 1 3"
    std::cout << " " << c0.at(1);
    std::cout << " " << c0.at(3);
    std::cout << std::endl;

    return (0);
}

array::back

Accède au dernier élément.

reference back();

constexpr const_reference back() const;

Notes

Les fonctions membres retournent une référence au dernier élément de la séquence contrôlée qui ne doit pas être vide.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display last element " 3"
    std::cout << " " << c0.back();
    std::cout << std::endl;

    return (0);
}
0 1 2 3
3

array::begin

Désigne le début de la séquence contrôlée.

iterator begin() noexcept;
const_iterator begin() const noexcept;

Notes

Les fonctions membres retournent un itérateur d'accès aléatoire qui pointe vers le premier élément de la séquence (ou juste après la fin d'une séquence vide).

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display first element " 0"
    Myarray::iterator it2 = c0.begin();
    std::cout << " " << *it2;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0

array::cbegin

Retourne un itérateur const qui traite le premier élément d'une plage.

const_iterator cbegin() const noexcept;

Valeur de retour

Itérateur d'accès aléatoire const qui pointe vers le premier élément de la plage, ou vers l'emplacement situé juste après la fin d'une plage vide (pour une plage vide : cbegin() == cend()).

Notes

Avec la valeur de retour , les éléments de cbeginla plage ne peuvent pas être modifiés.

Vous pouvez utiliser cette fonction membre à la place de la fonction membre begin() afin de garantir que la valeur de retour est const_iterator. En règle générale, il est utilisé avec la auto déduction de type mot clé, comme illustré dans l’exemple suivant. Dans cet exemple, Container est supposé être un conteneur modifiable (autre que const) de type indéfini prenant en charge begin() et cbegin().

auto i1 = Container.begin();
// i1 is Container<T>::iterator
auto i2 = Container.cbegin();

// i2 is Container<T>::const_iterator

array::cend

Retourne un itérateur const qui traite l'emplacement situé immédiatement après le dernier élément d'une plage.

const_iterator cend() const noexcept;

Valeur de retour

Itérateur d'accès aléatoire qui pointe juste après la fin de la plage.

Notes

cend est utilisé pour vérifier si un itérateur a dépassé la fin de la plage.

Vous pouvez utiliser cette fonction membre à la place de la fonction membre end() afin de garantir que la valeur de retour est const_iterator. En règle générale, il est utilisé avec la auto déduction de type mot clé, comme illustré dans l’exemple suivant. Dans cet exemple, Container est supposé être un conteneur modifiable (autre que const) de type indéfini prenant en charge end() et cend().

auto i1 = Container.end();
// i1 is Container<T>::iterator
auto i2 = Container.cend();

// i2 is Container<T>::const_iterator

La valeur retournée par cend ne doit pas être déréférencement.

array::const_iterator

Type d'un itérateur constant pour la séquence contrôlée.

typedef implementation-defined const_iterator;

Notes

Le type décrit un objet pouvant servir d’itérateur d’accès aléatoire constant pour la séquence contrôlée.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> MyArray;

int main()
{
    MyArray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    std::cout << "it1:";
    for (MyArray::const_iterator it1 = c0.begin();
        it1 != c0.end();
        ++it1) {
        std::cout << " " << *it1;
    }
    std::cout << std::endl;

    // display first element " 0"
    MyArray::const_iterator it2 = c0.begin();
    std::cout << "it2:";
    std::cout << " " << *it2;
    std::cout << std::endl;

    return (0);
}
it1: 0 1 2 3
it2: 0

array::const_pointer

Type d'un pointeur constant vers un élément.

typedef const Ty *const_pointer;

Notes

Le type décrit un objet pouvant servir de pointeur constant vers des éléments de la séquence.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display first element " 0"
    Myarray::const_pointer ptr = &*c0.begin();
    std::cout << " " << *ptr;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0

array::const_reference

Type d'une référence constante à un élément.

typedef const Ty& const_reference;

Notes

Le type décrit un objet pouvant servir de référence constante à un élément de la séquence contrôlée.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display first element " 0"
    Myarray::const_reference ref = *c0.begin();
    std::cout << " " << ref;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0

array::const_reverse_iterator

Type d'un itérateur inserve constant pour la séquence contrôlée.

typedef std::reverse_iterator<const_iterator> const_reverse_iterator;

Notes

Le type décrit un objet pouvant servir d’itérateur inverse constant pour la séquence contrôlée.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display last element " 3"
    Myarray::const_reverse_iterator it2 = c0.rbegin();
    std::cout << " " << *it2;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
3

array::crbegin

Retourne un itérateur const qui traite le premier élément d'un tableau inversé.

const_reverse_iterator crbegin() const;

Valeur de retour

Itérateur à accès aléatoire inversé const qui traite le premier élément d'un tableau inversé (ou qui traite ce qui était le dernier élément du tableau non inversé).

Notes

Avec la valeur de retour de crbegin, l’objet tableau ne peut pas être modifié.

Exemple

#include <array>
#include <iostream>

int main( )
{
   using namespace std;
   array<int, 2> v1 = {1, 2};
   array<int, 2>::iterator v1_Iter;
   array<int, 2>::const_reverse_iterator v1_rIter;

   v1_Iter = v1.begin( );
   cout << "The first element of array is "
        << *v1_Iter << "." << endl;

   v1_rIter = v1.crbegin( );
   cout << "The first element of the reversed array is "
        << *v1_rIter << "." << endl;
}
The first element of array is 1.
The first element of the reversed array is 2.

array::crend

Retourne un itérateur const qui traite l'emplacement qui suit le dernier élément d'un tableau inversé.

const_reverse_iterator crend() const noexcept;

Valeur de retour

Itérateur d'accès aléatoire inversé const qui traite l'emplacement qui suit le dernier élément d'un tableau inversé (emplacement qui précédait le premier élément dans le tableau non inversé).

Notes

crend est utilisé avec un tableau inversé comme array::cend utilisé avec un tableau.

Avec la valeur de retour de crend (décrémentation convenable), l’objet tableau ne peut pas être modifié.

crend peut être utilisé pour déterminer si un itérateur inversé a atteint la fin de son tableau.

La valeur retournée par crend ne doit pas être déréférencement.

Exemple

#include <array>
#include <iostream>

int main( )
{
   using namespace std;
   array<int, 2> v1 = {1, 2};
   array<int, 2>::const_reverse_iterator v1_rIter;

   for ( v1_rIter = v1.rbegin( ) ; v1_rIter != v1.rend( ) ; v1_rIter++ )
      cout << *v1_rIter << endl;
}
2
1

array::data

Obtient l'adresse du premier élément.

Ty *data();

const Ty *data() const;

Notes

Les fonctions membres retournent l’adresse du premier élément de la séquence contrôlée.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display first element " 0"
    Myarray::pointer ptr = c0.data();
    std::cout << " " << *ptr;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0

array::difference_type

Type d'une distance signée entre deux éléments.

typedef std::ptrdiff_t difference_type;

Notes

Le type d'entier signé décrit un objet qui peut représenter la différence entre les adresses de deux éléments quelconques dans la séquence contrôlée. Il s’agit d’un synonyme du type std::ptrdiff_t.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display distance first-last " -4"
    Myarray::difference_type diff = c0.begin() - c0.end();
    std::cout << " " << diff;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
-4

array::empty

Vérifie l'absence d'éléments.

constexpr bool empty() const;

Notes

La fonction membre retourne true uniquement si N == 0.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display whether c0 is empty " false"
    std::cout << std::boolalpha << " " << c0.empty();
    std::cout << std::endl;

    std::array<int, 0> c1;

    // display whether c1 is empty " true"
    std::cout << std::boolalpha << " " << c1.empty();
    std::cout << std::endl;

    return (0);
}
0 1 2 3
false
true

array::end

Désigne la fin de la séquence contrôlée.

reference end();

const_reference end() const;

Notes

Les fonctions membres retournent un itérateur d'accès aléatoire qui pointe juste après la fin de la séquence.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display last element " 3"
    Myarray::iterator it2 = c0.end();
    std::cout << " " << *--it2;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
3

array::fill

Efface un tableau et copie les éléments spécifiés dans le tableau vide.

void fill(const Type& val);

Paramètres

val
Valeur de l'élément inséré dans le tableau.

Notes

fill remplace chaque élément du tableau par la valeur spécifiée.

Exemple

#include <array>
#include <iostream>

int main()
{
    using namespace std;
    array<int, 2> v1 = { 1, 2 };

    cout << "v1 = ";
    for (const auto& it : v1)
    {
        std::cout << " " << it;
    }
    cout << endl;

    v1.fill(3);
    cout << "v1 = ";
    for (const auto& it : v1)
    {
        std::cout << " " << it;
    }
    cout << endl;
}

array::front

Accède au premier élément.

reference front();

constexpr const_reference front() const;

Notes

Les fonctions membres retournent une référence au premier élément de la séquence contrôlée qui ne doit pas être vide.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display first element " 0"
    std::cout << " " << c0.front();
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0

array::iterator

Type d'un itérateur pour la séquence contrôlée.

typedef implementation-defined iterator;

Notes

Le type décrit un objet pouvant servir d'itérateur à accès aléatoire pour la séquence contrôlée.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> MyArray;

int main()
{
    MyArray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    std::cout << "it1:";
    for (MyArray::iterator it1 = c0.begin();
        it1 != c0.end();
        ++it1) {
        std::cout << " " << *it1;
    }
    std::cout << std::endl;

    // display first element " 0"
    MyArray::iterator it2 = c0.begin();
    std::cout << "it2:";
    std::cout << " " << *it2;
    std::cout << std::endl;

    return (0);
}
it1: 0 1 2 3

it2: 0

array::max_size

Compte le nombre d'éléments.

constexpr size_type max_size() const;

Notes

La fonction membre retourne N.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display (maximum) size " 4"
    std::cout << " " << c0.max_size();
    std::cout << std::endl;

    return (0);
}
0 1 2 3
4

array::operator[]

Accède à un élément à une position spécifiée.

reference operator[](size_type off);

constexpr const_reference operator[](size_type off) const;

Paramètres

off
Position de l'élément auquel accéder.

Notes

Les fonctions membres retournent une référence à l'élément de la séquence contrôlée à la position off. Si cette position n'est pas valide, le comportement est indéfini.

Il existe également une fonction non membre get disponible pour obtenir une référence à un élément d’un array.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display odd elements " 1 3"
    std::cout << " " << c0[1];
    std::cout << " " << c0[3];
    std::cout << std::endl;

    return (0);
}
0 1 2 3
1 3

array::operator=

Remplace la séquence contrôlée.

array<Value> operator=(array<Value> right);

Paramètres

right
Conteneur à copier.

Notes

L’opérateur membre attribue chaque élément de right à l’élément correspondant de la séquence contrôlée, puis retourne *this. Vous l’utilisez pour remplacer la séquence contrôlée par une copie de la séquence contrôlée dans right.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    Myarray c1;
    c1 = c0;

    // display copied contents " 0 1 2 3"
        // display contents " 0 1 2 3"
    for (auto it : c1)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0 1 2 3

array::pointer

Type d'un pointeur vers un élément.

typedef Ty *pointer;

Notes

Le type décrit un objet pouvant servir de pointeur vers des éléments de la séquence.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display first element " 0"
    Myarray::pointer ptr = &*c0.begin();
    std::cout << " " << *ptr;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0

array::rbegin

Désigne le début de la séquence contrôlée inverse.

reverse_iterator rbegin()noexcept;
const_reverse_iterator rbegin() const noexcept;

Notes

Les fonctions membres retournent un itérateur inverse qui pointe juste après la fin de la séquence contrôlée. Par conséquent, il désigne le début de la séquence inverse.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display last element " 3"
    Myarray::const_reverse_iterator it2 = c0.rbegin();
    std::cout << " " << *it2;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
3

array::reference

Type d'une référence à un élément.

typedef Ty& reference;

Notes

Le type décrit un objet qui peut servir de référence à un élément de la séquence contrôlée.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display first element " 0"
    Myarray::reference ref = *c0.begin();
    std::cout << " " << ref;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0

array::rend

Désigne la fin de la séquence contrôlée inverse.

reverse_iterator rend()noexcept;
const_reverse_iterator rend() const noexcept;

Notes

Les fonctions membres retournent un itérateur inverse qui pointe vers le premier élément de la séquence (ou juste après la fin d'une séquence vide). Par conséquent, il désigne la fin de la séquence inverse.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display first element " 0"
    Myarray::const_reverse_iterator it2 = c0.rend();
    std::cout << " " << *--it2;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0

array::reverse_iterator

Type d'un itérateur inverse pour la séquence contrôlée.

typedef std::reverse_iterator<iterator> reverse_iterator;

Notes

Le type décrit un objet pouvant servir d’itérateur inverse pour la séquence contrôlée.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display last element " 3"
    Myarray::reverse_iterator it2 = c0.rbegin();
    std::cout << " " << *it2;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
3

array::size

Compte le nombre d'éléments.

constexpr size_type size() const;

Notes

La fonction membre retourne N.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display size " 4"
    std::cout << " " << c0.size();
    std::cout << std::endl;

    return (0);
}
0 1 2 3
4

array::size_type

Type d'une distance non signée entre deux éléments.

typedef std::size_t size_type;

Notes

Le type d'entier non signé décrit un objet qui peut représenter la longueur de n'importe quelle séquence contrôlée. Il s’agit d’un synonyme du type std::size_t.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display distance last-first " 4"
    Myarray::size_type diff = c0.end() - c0.begin();
    std::cout << " " << diff;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
4

array::swap

Échange le contenu de ce tableau avec un autre tableau.

void swap(array& right);

Paramètres

right
Tableau avec lequel échanger le contenu.

Notes

La fonction membre échange les séquences contrôlées entre *this et droite. Il effectue des affectations d’éléments et des appels de constructeur proportionnels à N.

Il existe également une fonction non membre swap disponible pour échanger deux array instances.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    Myarray c1 = { 4, 5, 6, 7 };
    c0.swap(c1);

    // display swapped contents " 4 5 6 7"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    swap(c0, c1);

    // display swapped contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    return (0);
}
0 1 2 3
4 5 6 7
0 1 2 3

array::value_type

Type d’un élément.

typedef Ty value_type;

Notes

Le type est un synonyme du paramètre de modèle Ty.

Exemple

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        Myarray::value_type val = it;
        std::cout << " " << val;
    }
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0 1 2 3

Voir aussi

<array>