Namespaces
Variants

std::shared_ptr<T>:: operator[]

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
element_type & operator [ ] ( std:: ptrdiff_t idx ) const ;
(depuis C++17)

Accède à l'élément du tableau pointé par le pointeur stocké.

Le comportement est indéfini si le pointeur stocké est nul ou si idx est négatif.

Si T (le paramètre template de shared_ptr ) est un type tableau U[N] , idx doit être inférieur à N , sinon le comportement est indéfini.

Table des matières

Paramètres

idx - l'indice du tableau

Valeur de retour

Une référence au idx -ième élément du tableau, c'est-à-dire, get ( ) [ idx ] .

Exceptions

Ne lance rien.

Remarques

Lorsque T n'est pas un type tableau, il n'est pas spécifié si cette fonction est déclarée. Si la fonction est déclarée, il n'est pas spécifié quel est son type de retour, sauf que la déclaration (bien que pas nécessairement la définition) de la fonction est garantie d'être légale.

Exemple

#include <cstddef>
#include <iostream>
#include <memory>
int main()
{
    const std::size_t arr_size = 10;
    std::shared_ptr<int[]> pis(new int[10]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9});
    for (std::size_t i = 0; i < arr_size; ++i)
        std::cout << pis[i] << ' ';
    std::cout << '\n';
}

Sortie :

0 1 2 3 4 5 6 7 8 9

Voir aussi

retourne le pointeur stocké
(fonction membre publique)