<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 を指定します。 |
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示