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
;
|
(seit C++17) | |
Greifen Sie auf das Array zu, auf das der gespeicherte Zeiger zeigt.
Das Verhalten ist undefiniert, wenn der gespeicherte Zeiger null ist oder wenn idx negativ ist.
Wenn
T
(der Template-Parameter von
shared_ptr
) ein Array-Typ
U[N]
ist,
idx
muss kleiner als
N
sein, andernfalls ist das Verhalten undefiniert.
Inhaltsverzeichnis |
Parameter
| idx | - | der Array-Index |
Rückgabewert
Ein Verweis auf das idx -te Element des Arrays, d.h. get ( ) [ idx ] .
Exceptions
Wirft nichts.
Anmerkungen
Wenn
T
kein Array-Typ ist, ist nicht spezifiziert, ob diese Funktion deklariert wird. Falls die Funktion deklariert wird, ist nicht spezifiziert, welchen Rückgabetyp sie hat, außer dass die Deklaration (wenn auch nicht notwendigerweise die Definition) der Funktion garantiert legal ist.
Beispiel
#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'; }
Ausgabe:
0 1 2 3 4 5 6 7 8 9
Siehe auch
|
gibt den gespeicherten Zeiger zurück
(öffentliche Elementfunktion) |