Кусок массива через std::span в C++
Представление над массивом C создают, передав
имя массива в конструктор std::span<T>:
компилятор подставляет длину по типу массива.
Элементы остаются в своем статическом буфере, а
std::span лишь запоминает адрес и число
ячеек. Запишем три символа и выведем средний
через индекс:
#include <span>
char tags[] = {'a', 'b', 'c'};
std::span<char> letters{tags};
std::cout << letters[1] << "\n";
Тип элемента в шаблоне должен совпадать с типом
массива. Запишем массив из двух целых и выведем
сумму через span:
#include <span>
int pair[] = {7, 8};
std::span<int> duo{pair};
std::cout << duo[0] + duo[1] << "\n";
Объявите double-массив из трех значений
1.0, 2.0, 3.0, постройте
std::span<double> и выведите последний
элемент.
Запишите массив int длины два со значениями
10 и 20, свяжите его с
std::span<int> и выведите разность
второго и первого через индексы.