<span>
Un span
oggetto è una visualizzazione su una sequenza contigua di oggetti. Fornisce accesso rapido e sicuro ai limiti. A differenza di vector
o array
, non è "proprietario" degli elementi.
Per informazioni dettagliate, vedere span
la classe . Ecco un esempio di come usare :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
}
Requisiti
Intestazione: <span>
Spazio dei nomi: std
Opzione del compilatore: /std:c++20
o versione successiva è obbligatoria.
Membri
Classi
Nome | Descrizione |
---|---|
span |
Fornisce una visualizzazione su una sequenza contigua di oggetti. |
Operatori
Nome | Descrizione |
---|---|
operator= |
Assegnazione span |
operator[] |
Accesso a elementi |
Funzioni
Nome | Descrizione |
---|---|
as_bytes |
Ottiene i byte di sola lettura sottostanti dell'intervallo. |
as_writable_bytes |
Ottiene i byte sottostanti dell'intervallo. |
Costanti
Nome | Descrizione |
---|---|
dynamic_extent |
Indica che le dimensioni dell'intervallo vengono determinate in fase di esecuzione anziché in fase di compilazione. Quando il numero di elementi nell'intervallo è noto in fase di compilazione, viene specificato come parametro del Extent modello. Quando il numero non è noto fino al runtime, specificare dynamic_extent invece. |