跳到主要内容

std::span rend() 方法

constexpr iterator rend() const noexcept;

返回一个反向迭代器

指向反转视图的最后一个元素。
它对应于非反转视图的第一个元素之前的元素。

如果 span 为空,返回的迭代器将等于 rbegin()

注意

此方法实际上不会反转视图,它只是返回一个迭代器,该迭代器指向视图第一个元素之前的元素,并且其 +---++ 运算符的实现略有更改。

例如,it++会递减内部指针,而it--会递增内部指针(以便以相反的顺序遍历容器实际工作)。

未定义行为

尝试解引用越界迭代器是未定义行为

.

参数

(无)

返回值

指向第一个元素的反向迭代器。

复杂度

常数 - O(1)

示例

Main.cpp
#include <algorithm>
#include <iostream>
#include <span>
#include <string_view>

void ascending(const std::span<const std::string_view> data,
const std::string_view term)
{
std::for_each(data.begin(), data.end(),
[](const std::string_view x) { std::cout << x << " "; });
std::cout << term;
}

void descending(const std::span<const std::string_view> data,
const std::string_view term)
{
std::for_each(data.rbegin(), data.rend(),
[](const std::string_view x) { std::cout << x << " "; });
std::cout << term;
}

int main()
{
constexpr std::string_view bars[]{ "▁","▂","▃","▄","▅","▆","▇","█" };
ascending(bars, " ");
descending(bars, "\n");
}
输出
▁ ▂ ▃ ▄ ▅ ▆ ▇ █  █ ▇ ▆ ▅ ▄ ▃ ▂ ▁
本文档源自此 CppReference 页面。它可能为了改进或编辑者的偏好而有所更改。单击“编辑此页面”可查看此文档的所有更改。
悬停查看原始许可证。

std::span rend() 方法

constexpr iterator rend() const noexcept;

返回一个反向迭代器

指向反转视图的最后一个元素。
它对应于非反转视图的第一个元素之前的元素。

如果 span 为空,返回的迭代器将等于 rbegin()

注意

此方法实际上不会反转视图,它只是返回一个迭代器,该迭代器指向视图第一个元素之前的元素,并且其 +---++ 运算符的实现略有更改。

例如,it++会递减内部指针,而it--会递增内部指针(以便以相反的顺序遍历容器实际工作)。

未定义行为

尝试解引用越界迭代器是未定义行为

.

参数

(无)

返回值

指向第一个元素的反向迭代器。

复杂度

常数 - O(1)

示例

Main.cpp
#include <algorithm>
#include <iostream>
#include <span>
#include <string_view>

void ascending(const std::span<const std::string_view> data,
const std::string_view term)
{
std::for_each(data.begin(), data.end(),
[](const std::string_view x) { std::cout << x << " "; });
std::cout << term;
}

void descending(const std::span<const std::string_view> data,
const std::string_view term)
{
std::for_each(data.rbegin(), data.rend(),
[](const std::string_view x) { std::cout << x << " "; });
std::cout << term;
}

int main()
{
constexpr std::string_view bars[]{ "▁","▂","▃","▄","▅","▆","▇","█" };
ascending(bars, " ");
descending(bars, "\n");
}
输出
▁ ▂ ▃ ▄ ▅ ▆ ▇ █  █ ▇ ▆ ▅ ▄ ▃ ▂ ▁
本文档源自此 CppReference 页面。它可能为了改进或编辑者的偏好而有所更改。单击“编辑此页面”可查看此文档的所有更改。
悬停查看原始许可证。