Введение в std::span в C++
Чужую непрерывную память показывает шаблон std::span из стандарта C++20, который ссылается на уже существующую непрерывную последовательность и не владеет ее памятью.
Такой тип удобен, когда функции и алгоритмы должны
работать и с массивом C, и с буфером вектора, не
зная конкретного контейнера. Заголовок подключают
как #include <span>.
Запишем массив целых, построим из него
std::span<int> и выведем первый
элемент:
#include <span>
int vals[] = {4, 5, 6};
std::span<int> chunk{vals};
std::cout << chunk[0] << "\n";
Пока живет исходное хранилище, представление
указывает на те же адреса: изменение элемента
массива видно через span.