<span>
A span
je zobrazení souvislé sekvence objektů. Poskytuje rychlý a bezpečný přístup. Na rozdíl od vector
elementů nebo array
není "vlastníkem" prvků.
Podrobné span
informace najdete ve třídě . Tady je příklad použití 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
}
Požadavky
Záhlaví: <span>
Obor názvů: std
Je vyžadována možnost kompilátoru: /std:c++20
nebo novější.
Členové
Třídy
Název | Popis |
---|---|
span |
Poskytuje zobrazení nad souvislou sekvencí objektů. |
Operátory
Název | Popis |
---|---|
operator= |
Přiřazení rozsahu |
operator[] |
Přístup k elementům |
Funkce
Název | Popis |
---|---|
as_bytes |
Získejte základní bajty rozsahu jen pro čtení. |
as_writable_bytes |
Získejte základní bajty rozsahu. |
Konstanty
Název | Popis |
---|---|
dynamic_extent |
Označuje, že velikost rozsahu je určena za běhu, nikoli v době kompilace. Pokud je počet prvků v rozsahu známý v době kompilace, je určen jako Extent parametr šablony. Pokud číslo není známo, dokud modul runtime nezadáte, zadejte dynamic_extent místo toho. |