<span>
A span
ist eine Ansicht über eine zusammenhängende Abfolge von Objekten. Sie bietet schnellen und gebundenen Zugriff. Im Gegensatz vector
zu oder array
, es besitzt nicht "besitzen" die Elemente.
Ausführliche Informationen finden Sie span
in der Klasse . Hier ist ein Beispiel für die Verwendung einer span
:
#include <span>
#include <iostream>
void Show(std::span<int> someValues)
{
// show values in reverse
for (auto rIt = someValues.rbegin(); rIt != someValues.rend(); ++rIt)
{
std::cout << *rIt;
}
// show a subspan
for (auto& i : someValues.subspan(1, 2))
{
std::cout << i;
}
}
int main()
{
int numbers[]{ 0,1,2,3,4 };
Show(numbers); // note conversion from array to span
}
Anforderungen
Header: <span>
Namespace:std
Compileroption: /std:c++20
oder höher ist erforderlich.
Member
Klassen
name | Beschreibung |
---|---|
span |
Stellt eine Ansicht über eine zusammenhängende Abfolge von Objekten bereit. |
Operatoren
Name | Beschreibung |
---|---|
operator= |
Span-Aufgabe |
operator[] |
Elementzugriff |
Functions
Name | Beschreibung |
---|---|
as_bytes |
Rufen Sie die zugrunde liegenden schreibgeschützten Bytes der Spanne ab. |
as_writable_bytes |
Rufen Sie die zugrunde liegenden Bytes der Spanne ab. |
Konstanten
Name | Beschreibung |
---|---|
dynamic_extent |
Gibt an, dass die Spannweite zur Laufzeit und nicht zur Kompilierungszeit bestimmt wird. Wenn die Anzahl der Elemente in der Spanne zur Kompilierungszeit bekannt ist, wird sie als Extent Vorlagenparameter angegeben. Wenn die Zahl erst zur Laufzeit bekannt ist, geben Sie dynamic_extent stattdessen an. |