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 right
tableau .
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 cbegin
la 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 le auto
mot clé de déduction de type, 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 le auto
mot clé de déduction de type, 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