您的位置:首页 > 编程语言 > C语言/C++

C++中string类下的begin,end,rbegin,rend的用法

2017-07-22 21:38 661 查看
原文链接:http://blog.csdn.net/z2014jw/article/details/50810569
begin 

语法:
iterator begin();
 

解释:begin()函数返回一个迭代器,指向字符串的第一个元素.
end 

语法:
iterator end();
 

解释:end()函数返回一个迭代器,指向字符串的末尾(最后一个字符的下一个位置).
rbegin 

语法:
const reverse_iterator rbegin();
 

解释:rbegin()返回一个逆向迭代器,指向字符串的最后一个字符。
rend 

语法:
const reverse_iterator rend();
 

解释:rend()函数返回一个逆向迭代器,指向字符串的开头(第一个字符的前一个位置)。



用法举例:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str1,str2;
cin >> str1;
//定义一个正向迭代器
string::iterator ptr1 = str1.begin();
//正向输出字符串
while (ptr1 != str1.end())
cout << *(ptr1++) << " ";
cout << endl;

cin >> str2;
//定义一个逆向迭代器
string::reverse_iterator ptr2 = str2.rbegin();
//逆向输出字符串
while (ptr2 != str2.rend())
//注意逆向迭代器移动方向相反,所以从尾部仍然通过++来移动
cout << *(ptr2++) << " ";
cout << endl;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: