Spec-Zone.ru › C++

std::span<T,Extent>::operator[]

constexpr reference operator[]( size_type idx ) const;
(с C++20)

Возвращает ссылку на idx-й элемент последовательности. Поведение не определено, если idx выходит за пределы диапазона (то есть, если оно больше или равно size()).

Параметры

idx - индекс элемента для доступа

Возвращаемое значение

Ссылка на idx-й элемент последовательности, т.е. data()[idx].

Исключение

Ничего не выбрасывает.

Пример

#include <cstddef>
#include <iostream>
#include <span>
#include <utility>
 
void reverse(std::span<int> span)
{
    for (std::size_t i = 0, j = std::size(span); i < j; ++i)
    {
        --j;
        std::swap(span[i], span[j]);
    }
}
 
void print(std::span<const int> const span)
{
    for (int element : span)
        std::cout << element << ' ';
    std::cout << '\n';
}
 
int main()
{
    int data[]{1, 2, 3, 4, 5};
    print(data);
    reverse(data);
    print(data);
}

Вывод:

1 2 3 4 5
5 4 3 2 1

См. также

at
(C++26)
доступ к указанному элементу с проверкой границ
(публичный метод)
data
прямой доступ к базовому непрерывному хранилищу
(публичный метод)
size
возвращает количество элементов
(публичный метод)
as_bytesas_writable_bytes
(C++20)
преобразует span в представление его базовых байтов
(шаблон функции)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/container/span/operator_at

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API