std::shared_ptr<T>:: operator[]
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Modifiers | ||||
| Observers | ||||
|
shared_ptr::operator[]
(C++17)
|
||||
|
(
until C++20*
)
|
||||
|
(C++26)
|
||||
|
(C++26)
|
||||
| Non-member functions | ||||
|
(until C++20)
(until C++20)
(until C++20)
(until C++20)
(until C++20)
(C++20)
|
||||
|
functions
(
until C++26*
)
|
||||
| Helper classes | ||||
|
(C++20)
|
||||
| Deduction guides (C++17) |
|
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) |