次の方法で共有


<span>

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

詳細については、 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 を指定します。

関連項目

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