Namespaces
Variants

std::inplace_vector<T,N>:: operator[]

From cppreference.net

constexpr reference operator [ ] ( size_type pos ) ;
(1) (depuis C++26)
constexpr const_reference operator [ ] ( size_type pos ) const ;
(2) (depuis C++26)

Retourne une référence à l'élément à la position spécifiée pos .

Si pos < size ( ) est false :

  • Si l'implémentation est renforcée , une violation de contrat se produit. De plus, si le gestionnaire de violation de contrat retourne sous la sémantique d'évaluation "observer", le comportement est indéfini.
  • Si l'implémentation n'est pas renforcée, le comportement est indéfini.

Table des matières

Paramètres

pos - position de l'élément à retourner

Valeur de retour

Référence à l'élément demandé.

Complexité

Constante.

Notes

Contrairement à std::map::operator[] , cet opérateur n'insère jamais un nouvel élément dans le conteneur. L'accès à un élément inexistant via cet opérateur est un comportement indéfini, sauf si l'implémentation est renforcée.

Exemple

Le code suivant utilise operator [ ] pour lire et écrire dans un std:: inplace_vector < int , N > :

#include <inplace_vector>
#include <iostream>
int main()
{
    std::inplace_vector<int, 4> numbers{2, 4, 6, 8};
    std::cout << "Second element: " << numbers[1] << '\n';
    numbers[0] = 5;
    std::cout << "All numbers:";
    for (auto i : numbers)
        std::cout << ' ' << i;
    std::cout << '\n';
}

Sortie :

Second element: 4
All numbers: 5 4 6 8

Voir aussi

accéder à l'élément spécifié avec vérification des limites
(fonction membre publique)