名前空間
変種
操作

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

From cppreference.com
< cpp‎ | container‎ | span
 
 
 
 
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

[編集] 関連項目

(C++26)
境界チェック付きで指定された要素にアクセスする
(public メンバ関数) [編集]
基底となる連続ストレージに直接アクセスする
(public メンバ関数) [編集]
要素数を返す
(public メンバ関数) [編集]
span をその基になるバイトのビューに変換します
(関数テンプレート) [編集]
English 日本語 中文(简体) 中文(繁體)