std::span<T,Extent>::begin, std::span<T,Extent>::cbegin
来自cppreference.com
<tbody>
</tbody>
constexpr iterator begin() const noexcept; |
(1) | (C++20 起) |
constexpr const_iterator cbegin() const noexcept; |
(2) | (C++23 起) |
返回指向 span 首元素的迭代器。
如果 span 为空,那么返回的迭代器等于 end()。
返回值
指向首元素的迭代器。
复杂度
常数。
示例
运行此代码
#include <iostream>
#include <span>
void print(std::span<const int> array)
{
std::cout << "array = ";
for (auto it = array.begin(); it != array.end(); ++it)
std::cout << *it << ' ';
std::cout << '\n';
}
void set_first_element(std::span<int> sp, int new_value)
{
if (!sp.empty())
{
std::cout << "old *begin = " << *sp.begin() << '\n';
*sp.begin() = new_value;
std::cout << "new *begin = " << *sp.begin() << '\n';
}
}
int main()
{
int array[]{1, 3, 4, 5};
print(array);
set_first_element(array, 2);
print(array);
}
输出:
array = 1 3 4 5
old *begin = 1
new *begin = 2
array = 2 3 4 5
参阅
(C++23) |
返回指向末尾的迭代器 (公开成员函数) |
(C++11)(C++14) |
返回指向容器或数组起始的迭代器 (函数模板) |