std::unique_ptr<T,Deleter>:: operator[]
From cppreference.net
<
cpp
|
memory
|
unique ptr
C++
Memory management library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::unique_ptr
| Member functions | ||||
| Modifiers | ||||
| Observers | ||||
|
unique_ptr::operator[]
|
||||
| Non-member functions | ||||
|
(C++14)
(C++20)
|
||||
|
(until C++20)
(C++20)
|
||||
|
(C++20)
|
||||
| Helper classes | ||||
|
T
&
operator
[
]
(
std::
size_t
i
)
const
;
|
(seit C++11)
(constexpr seit C++23) |
|
operator[]
ermöglicht den Zugriff auf Elemente eines Arrays, das von einem
unique_ptr
verwaltet wird.
Der Parameter i muss kleiner sein als die Anzahl der Elemente im Array; andernfalls ist das Verhalten undefiniert.
Diese Memberfunktion wird nur für Spezialisierungen für Array-Typen bereitgestellt.
Inhaltsverzeichnis |
Parameter
| i | - | der Index des zurückzugebenden Elements |
Rückgabewert
Gibt das Element an Index
i
zurück, d.h.
get()[i]
.
Beispiel
Diesen Code ausführen
#include <iostream> #include <memory> int main() { const int size = 10; std::unique_ptr<int[]> fact(new int[size]); for (int i = 0; i < size; ++i) fact[i] = (i == 0) ? 1 : i * fact[i - 1]; for (int i = 0; i < size; ++i) std::cout << i << "! = " << fact[i] << '\n'; }
Ausgabe:
0! = 1 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880
Siehe auch
|
gibt einen Zeiger auf das verwaltete Objekt zurück
(öffentliche Elementfunktion) |