std::valarray<T>::end
iterator end();
|
(1) | (depuis C++11) |
const_iterator end() const;
|
(2) | (depuis C++11) |
Retourne un itérateur pointant vers l'élément suivant le dernier élément du tableau numérique.
L'itérateur retourné par cette fonction est invalidé lorsque la fonction membre resize() est appelée sur v ou lorsque la durée de vie de v se termine, selon la première éventualité.
Paramètres
| v | - | un tableau numérique |
Valeur de retour
Itérateur vers l'élément suivant le dernier élément du tableau numérique.
Exceptions
Peut lancer des exceptions définies par l'implémentation.
Notes
Contrairement aux autres fonctions qui prennent des arguments std::valarray, end() ne peut pas accepter les types de remplacement (tels que les types produits par les modèles d'expression) qui peuvent être retournés par des expressions impliquant des valarrays : (v1 + v2).end() n'est pas portable, std::valarray<T>(v1 + v2).end() doit être utilisé à la place.
L'intention de cette fonction est de permettre aux boucles for basées sur des plages de fonctionner avec les valarrays, et non de fournir une sémantique de conteneur.
Exemple
#include <algorithm>
#include <iostream>
#include <valarray>
int main()
{
const std::valarray<char> va
{
'H', 'e', 'l', 'l', 'o',
',', ' ',
'C', '+', '+', '!', '\n'
};
std::for_each(va.begin(), va.end(), [](char c){ std::cout << c; });
}
Sortie :
Hello, C++!
Rapports de défauts
Les rapports de défauts suivants, modifiant le comportement, ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Appliqué à | Comportement tel que publié | Comportement correct |
|---|---|---|---|
| LWG 2058 | C++11 | 1. end() devait prendre en charge les types de remplacement2. il n'était pas spécifié quand les itérateurs retournés seraient invalidés |
1. non requis 2. spécifié |
| P3016R6 | C++11 | les fonctions non membres end() introduisaient une incohérence dans l'accès aux plages
|
modifié end() en fonctions membres
|
Voir aussi
(C++11) |
obtient l'itérateur de début de valarray (fonction membre publique) |