Namespaces
Variants

std::span<T,Extent>:: operator[]

From cppreference.net
constexpr reference operator [ ] ( size_type idx ) const ;
(depuis C++20)

Retourne une référence au idx ème élément de la séquence.

Si idx < size ( ) est false , le comportement est indéfini.

(jusqu'à C++26)

Si idx < size ( ) est false :

  • Si l'implémentation est durcie , 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 durcie, le comportement est indéfini.
(depuis C++26)

Table des matières

Paramètres

idx - l'indice de l'élément à accéder

Valeur de retour

data ( ) [ idx ]

Exceptions

Ne lance rien.

Exemple

#include <cstddef>
#include <iostream>
#include <span>
#include <utility>
void reverse(std::span<int> span)
{
    for (std::size_t i = 0, j = std::size(span); i < j; ++i)
    {
        --j;
        std::swap(span[i], span[j]);
    }
}
void print(const std::span<const int> span)
{
    for (int element : span)
        std::cout << element << ' ';
    std::cout << '\n';
}
int main()
{
    int data[]{1, 2, 3, 4, 5};
    print(data);
    reverse(data);
    print(data);
}

Sortie :

1 2 3 4 5
5 4 3 2 1

Voir aussi

(C++26)
accède à l'élément spécifié avec vérification des limites
(fonction membre publique)
accès direct au stockage contigu sous-jacent
(fonction membre publique)
retourne le nombre d'éléments
(fonction membre publique)
convertit un span en une vue de ses octets sous-jacents
(modèle de fonction)