<span>
Obiekt span
to widok na ciągłą sekwencję obiektów. Zapewnia szybki i bezpieczny dostęp. W przeciwieństwie do vector
elementów lub array
, nie jest "właścicielem" elementów.
Zobacz span
klasę , aby uzyskać szczegółowe informacje. Oto przykład użycia elementu 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
}
Wymagania
Nagłówek: <span>
Przestrzeń nazw: std
Opcja kompilatora: /std:c++20
lub nowsza jest wymagana.
Elementy członkowskie
Klasy
Nazwa/nazwisko | opis |
---|---|
span |
Zapewnia widok ciągłej sekwencji obiektów. |
Operatory
Nazwa/nazwisko | opis |
---|---|
operator= |
Przypisanie zakresu |
operator[] |
Dostęp do elementów |
Funkcje
Nazwa/nazwisko | opis |
---|---|
as_bytes |
Pobierz bazowe bajty tylko do odczytu dla zakresu. |
as_writable_bytes |
Pobierz bazowe bajty zakresu. |
Stałe
Nazwa/nazwisko | opis |
---|---|
dynamic_extent |
Wskazuje, że rozmiar zakresu jest określany w czasie wykonywania, a nie w czasie kompilacji. Gdy liczba elementów w zakresie jest znana w czasie kompilacji, jest określona jako parametr szablonu Extent . Jeśli liczba nie jest znana dopiero w czasie wykonywania, określ dynamic_extent zamiast tego. |