Метод data
Метод data класса span возвращает указатель на первый элемент последовательности, хранящейся в объекте span. Если размер span равен 0, метод может вернуть как нулевой указатель, так и некоторый валидный указатель, который нельзя разыменовывать. Метод не принимает параметров и не изменяет сам объект span.
Синтаксис
span.data()
Пример
Давайте получим указатель на первый элемент span и выведем его значение:
#include <iostream>
#include <span>
using namespace std;
int main()
{
int arr[] = {1, 2, 3, 4, 5};
span<int> sp(arr);
int* ptr = sp.data();
cout << *ptr << endl;
return 0;
}
Результат выполнения кода:
1
Пример
Давайте изменим первый элемент через указатель, полученный методом data:
#include <iostream>
#include <span>
using namespace std;
int main()
{
int arr[] = {1, 2, 3, 4, 5};
span<int> sp(arr);
int* ptr = sp.data();
ptr[0] = 10;
cout << sp[0] << endl;
return 0;
}
Результат выполнения кода:
10