std:: get (std::array)
|
Definiert in Header
<array>
|
||
|
template
<
std::
size_t
I,
class
T,
std::
size_t
N
>
T & get ( std:: array < T,N > & a ) noexcept ; |
(1) |
(seit C++11)
(constexpr seit C++14) |
|
template
<
std::
size_t
I,
class
T,
std::
size_t
N
>
T && get ( std:: array < T,N > && a ) noexcept ; |
(2) |
(seit C++11)
(constexpr seit C++14) |
|
template
<
std::
size_t
I,
class
T,
std::
size_t
N
>
const T & get ( const std:: array < T,N > & a ) noexcept ; |
(3) |
(seit C++11)
(constexpr seit C++14) |
|
template
<
std::
size_t
I,
class
T,
std::
size_t
N
>
const T && get ( const std:: array < T,N > && a ) noexcept ; |
(4) |
(seit C++11)
(constexpr seit C++14) |
Extrahiert das
I
te
Element aus dem Array unter Verwendung der
tuple-like
Schnittstelle.
I
muss ein ganzzahliger Wert im Bereich
[
0
,
N
)
sein. Dies wird zur Kompilierzeit erzwungen, im Gegensatz zu
at()
oder
operator[]
.
Inhaltsverzeichnis |
Parameter
| a | - | Array, dessen Inhalt extrahiert werden soll |
Rückgabewert
Ein Verweis auf das
I
te
Element von
a
.
Komplexität
Konstante.
Beispiel
#include <array> #include <iostream> constexpr std::array v{1, 2, 3}; static_assert(get<0>(v) == 1 && get<1>(v) == 2 && get<2>(v) == 3); int main() { std::array<int, 3> a; // Werte setzen: get<0>(a) = 1, get<1>(a) = 2, get<2>(a) = 3; // Werte abrufen: std::cout << '(' << get<0>(a) << ',' << get<1>(a) << ',' << get<2>(a) << ")\n"; }
Ausgabe:
(1,2,3)
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 2485 | C++11 | es gibt keine Überladungen für const array&& | die Überladungen wurden hinzugefügt |
Siehe auch
| Structured binding (C++17) | bindet die angegebenen Namen an Teilobjekte oder Tupel-Elemente des Initialisierers |
|
greift auf das angegebene Element zu
(public member function) |
|
|
greift auf das angegebene Element mit Grenzprüfung zu
(public member function) |
|
|
(C++11)
|
Tupel greift auf das angegebene Element zu
(function template) |
|
(C++11)
|
greift auf ein Element eines
pair
zu
(function template) |
|
(C++17)
|
liest den Wert der Variante anhand des Index oder Typs (falls der Typ eindeutig ist), wirft bei Fehler
(function template) |
|
(C++20)
|
erhält Iterator oder Sentinel aus einem
std::ranges::subrange
(function template) |
|
(C++26)
|
erhält eine Referenz auf Real- oder Imaginärteil aus einem
std::complex
(function template) |