std::span<T,Extent>::end, std::span<T,Extent>::cend
来自cppreference.com
<tbody>
</tbody>
constexpr iterator end() const noexcept; |
(1) | (C++20 起) |
constexpr const_iterator cend() const noexcept; |
(2) | (C++23 起) |
返回指向 span 末元素后一元素的迭代器。
此元素表现为占位符;试图访问它导致未定义行为。
返回值
指向后随最后元素的迭代器。
复杂度
常数。
示例
运行此代码
#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) |
返回指向容器或数组结尾的迭代器 (函数模板) |