<span>
函数
<span>
标头包含以下非成员函数,作用于 span
对象。
非成员函数 | 描述 |
---|---|
as_bytes |
获取跨度中元素的对象表示形式的只读视图。 |
as_writable_bytes |
获取跨度中元素的对象表示形式的读/写视图。 |
as_bytes
获取跨度中元素的对象表示形式的只读视图。
template <class T, size_t Extent>
auto as_bytes(span<T, Extent> s) noexcept;
参数
T
跨度中元素的类型。
Extent
跨度中的元素数(如果编译时已知),否则为 dynamic_extent
,指示直到运行时才知道元素数。
s
获取其原始表示形式的跨度。
返回值
存储在跨度中的第一个项的 span<const byte, S>
,其中 S
为 {reinterpret_cast<const std::byte*>(s.data()), s.size_bytes()}
示例
#include <span>
#include <iostream>
using namespace std;
void main()
{
int a[] = { 0,1,2 };
span <int> mySpan(a);
auto bytes = std::as_bytes(mySpan);
}
as_writable_bytes
如果 T
不是 const
,则获取跨度中元素的原始字节表示形式的读/写视图。
template <class T, size_t Extent>
auto as_writable_bytes(span<T, Extent> s) noexcept;
参数
T
跨度中元素的类型。
Extent
跨度中的元素数(如果编译时已知),否则为 dynamic_extent
,指示直到运行时才知道元素数。
s
获取其原始表示形式的跨度。
返回值
存储在跨度中的第一个项的 span<byte, S>
,其中 S
为 {reinterpret_cast<std::byte*>(s.data()), s.size_bytes()}
示例
#include <span>
#include <iostream>
using namespace std;
void main()
{
int a[] = { 0,1,2 };
span <int> mySpan(a);
auto bytes = as_writable_bytes(mySpan);
}