Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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. |