<span>
Il span
s’agit d’une vue sur une séquence contiguë d’objets. Il fournit un accès rapide et sécurisé aux limites. Contrairement vector
ou array
, il ne « possède pas » les éléments.
Pour plus d’informations, consultez span
la classe . Voici un exemple d’utilisation d’un 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
}
Spécifications
En-tête : <span>
Espace de noms : std
Option du compilateur : /std:c++20
ou version ultérieure est requise.
Membres
Classes
Nom | Description |
---|---|
span |
Fournit une vue sur une séquence contiguë d’objets. |
Opérateurs
Nom | Description |
---|---|
operator= |
Affectation d’étendue |
operator[] |
Accès aux éléments |
Functions
Nom | Description |
---|---|
as_bytes |
Obtenez les octets en lecture seule sous-jacents de l’étendue. |
as_writable_bytes |
Obtenez les octets sous-jacents de l’étendue. |
Constantes
Nom | Description |
---|---|
dynamic_extent |
Indique que la taille de l’étendue est déterminée au moment de l’exécution plutôt qu’au moment de la compilation. Lorsque le nombre d’éléments de l’étendue est connu au moment de la compilation, il est spécifié comme paramètre de Extent modèle. Lorsque le nombre n’est pas connu tant que l’exécution n’est pas connue, spécifiez dynamic_extent à la place. |