<span>
A span
— это представление о непрерывной последовательности объектов. Он обеспечивает быстрый и ограниченный безопасный доступ. В отличие vector
от или array
, он не является "владельцем" элементов.
Дополнительные сведения см span
. в классе . Ниже приведен пример использования 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
}
Требования
Заголовок: <span>
Пространство имен: std
Параметр компилятора: /std:c++20
требуется или более поздней версии.
Участники
Классы
Имя | Описание |
---|---|
span |
Предоставляет представление о непрерывной последовательности объектов. |
Операторы
Имя | Описание |
---|---|
operator= |
Назначение диапазона |
operator[] |
Доступ к элементам |
Функции
Имя | Описание |
---|---|
as_bytes |
Получите базовые байты диапазона только для чтения. |
as_writable_bytes |
Получите базовые байты диапазона. |
Константы
Имя | Описание |
---|---|
dynamic_extent |
Указывает, что размер диапазона определяется во время выполнения, а не во время компиляции. Если число элементов в диапазоне известно во время компиляции, оно указывается в качестве Extent параметра шаблона. Если число не известно до среды выполнения, укажите dynamic_extent вместо него. |