std::make_reverse_iterator() 是 C++ 中的预定义函数,用于为给定迭代器创建 reverse_iterator。此函数有助于以相反的顺序迭代数据。
std::make_reverse_iterator() 函数存在于<iterator>头文件。
用法
std::make_reverse_iterator (iterator);
参数
- iterator:要转换为反向迭代器的迭代器。
返回值
- 它返回给定类型的反向迭代器。
make_reverse_iterator() 的示例
示例1:使用make_reverse_iterator逆序遍历向量元素。
C++
// C++ Program to illustrate the use of
// make_reverse_iterator for vector iterator
#include <iostream>
#include <iterator>
#include <vector>
using namespace std;
int main()
{
// declaring vector
vector<int> v = { 10, 20, 30, 40, 50 };
// creating a iterator using v.end()
auto rIter = make_reverse_iterator(v.end());
// printing in reverse order
for (auto iter = rIter; iter != v.rend(); ++iter) {
std::cout << *iter << " ";
}
return 0;
}
输出
50 40 30 20 10
在此代码中,我们有一个大小为 5 的向量,在下一行中,我们通过传递向量的 end() 迭代器,使用 make_reverse_iterator() 函数创建了反向迭代器 (rIter)。 rIter 指向向量的最后一个元素,因此我们只需要迭代 rIter 直到 rIter 指向向量的第一个元素。
示例 2:使用 make_reverse_iterator() 以相反的顺序以大写字母打印整个字符串
C++
// C++ program to print reverse of string in upper case
// using make_reverse_iterator
#include <algorithm>
#include <iostream>
#include <iterator>
#include <string>
using namespace std;
int main()
{
// defining string
string name = "vikash mishra";
// creating reverse iterator
auto rIter = make_reverse_iterator(name.end());
// printing string character by character
for (auto iter = rIter; iter != name.rend(); ++iter) {
int k = *iter;
if (k == 32) {
cout << char(k);
}
else {
cout << char(k - 32) << " ";
}
}
cout << endl;
return 0;
}
输出
A R H S I M H S A K I V
在此示例中,我们将整个字符串打印为大写。方法与前面的示例类似,但主要区别是将小字符转换为大写字符,这是通过从小字符的 ASCII 值中减去 32 来完成的(例如 - ‘a’ ASCII 值为 97,因此 97-32 = 65,这是 A) 的 ASCII 值。
相关用法
- C++ make_heap()用法及代码示例
- C++ malloc()用法及代码示例
- C++ map at()用法及代码示例
- C++ map begin()用法及代码示例
- C++ map cbegin()用法及代码示例
- C++ map cend()用法及代码示例
- C++ map clear()用法及代码示例
- C++ map crbegin()用法及代码示例
- C++ map crend()用法及代码示例
- C++ map empty()用法及代码示例
- C++ map end()用法及代码示例
- C++ map size()用法及代码示例
- C++ map swap()用法及代码示例
- C++ map::max_size()用法及代码示例
- C++ map count()用法及代码示例
- C++ map emplace()用法及代码示例
- C++ map emplace_hint()用法及代码示例
- C++ map equal_range()用法及代码示例
- C++ map erase()用法及代码示例
- C++ map find()用法及代码示例
- C++ map insert()用法及代码示例
- C++ map key_comp()用法及代码示例
- C++ map lower_bound()用法及代码示例
- C++ map max_size()用法及代码示例
- C++ map rbegin()用法及代码示例
注:本文由纯净天空筛选整理自vikash_mishra大神的英文原创作品 make_reverse_iterator Function in C++。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。