<span>

span は、オブジェクトの連続したシーケンスに対するビューです。 高速かつ境界セーフなアクセスを提供します。 要素とは異なり vector 、または array、要素を "所有" しません。

詳細については span 、クラス を参照してください。 使用する方法の例を次に span示します。

#include <span>
#include <iostream>

void Show(std::span<int> someValues)
{
    // show values in reverse
    for (auto rIt = someValues.rbegin(); rIt != someValues.rend(); ++rIt)
    {
        std::cout << *rIt;
    }

    // show a subspan
    for (auto& i : someValues.subspan(1, 2))
    {
        std::cout << i;
    }
}

int main()
{
    int numbers[]{ 0,1,2,3,4 };
    Show(numbers); // note conversion from array to span
}

必要条件

ヘッダー:<span>

名前空間std:

コンパイラ オプション:/std:c++20 以降が必要です。

メンバー

クラス

名前 説明
span オブジェクトの連続したシーケンスに対するビューを提供します。

演算子

名前 説明
operator= span の割り当て
operator[] 要素アクセス

関数

名前 説明
as_bytes span の基になる読み取り専用バイトを取得します。
as_writable_bytes span の基になるバイトを取得します。

定数

名前 説明
dynamic_extent span サイズがコンパイル時ではなくランタイムに決定されることを示します。 span 内の要素の数がコンパイル時に既知の場合は、Extent テンプレート パラメーターとして指定されます。 数値がランタイムまで分からない場合は、代わりに dynamic_extent を指定します。

関連項目

ヘッダー ファイル リファレンス