Поделиться через


<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 вместо него.

См. также

Справочник по файлам заголовков