Подкусок std::span в C++
Метод subspan строит новый std::span
на том же хранилище, начиная с указанного индекса
и охватывая нужное число элементов.
Смещение считают от нуля, длина не должна выходить за границы исходного куска. Запишем массив из шести целых и выведем среднюю пару:
#include <span>
int row[] = {10, 11, 12, 13, 14, 15};
std::span<int> line{row};
std::span<int> mid = line.subspan(2, 2);
std::cout << mid[0] << "\n";
std::cout << mid[1] << "\n";
Если длину опустить, подкусок тянется до конца
буфера. Запишем вектор и выведем сумму хвоста
после смещения 1:
#include <span>
#include <vector>
std::vector<int> pack{1, 2, 3, 4};
std::span<int> full{pack};
std::span<int> rest = full.subspan(1);
std::cout << rest[0] + rest[1] + rest[2] << "\n";
Объявите double-массив
1.5, 2.5, 3.5, 4.5,
постройте std::span<double> и через
subspan с offset 1 и count 2
выведите второй элемент подкуска.