关于C++中用两个迭代器方式初始化string的知识
2016-01-14 17:15
381 查看
string(iter1, iter2);
第一点:两个迭代器必须指向同一个容器。
第二点:iter2必须>=iter1。
第三点:假设iter1等于iter2,那么结果为空[]
另外一个比較特殊的关于反向迭代器的很实用知识点,用例如以下程序来说明:
int main() { string str1 = "abc"; cout << "str1.rend() - str1.rbegin() is " << str1.rend() - str1.rbegin() << endl; cout << "str1.rbegin() - str1.rend() is " << str1.rbegin() - str1.rend() << endl; cout << "*str1.rbegin() is " << *str1.rbegin() << endl; cout << string(str1.rbegin(), str1.rend()) << endl; //cout << *str1.rend() << endl; error //cout << string(str1.rend(), str1.rbegin()) << endl; error getchar(); }
output is
str1.rend() - str1.rbegin() is 3 str1.rbegin() - str1.rend() is -3 *str1.rbegin() is c cba
相关文章推荐
- C++调用java的过程
- C/C++动态分配与释放内存的区别详细解析
- Google C++ 编程规范 笔记
- 【C语言】有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student".
- 并查集_POJ 1182_食物链
- c/c++宏定义的基本用法
- 讲解C++编程中Address-of运算符&的作用及用法
- c语言实现动态指针数组Dynamic arrays
- C语言练习代码
- C语言技巧
- C语言 随机数
- 详解C++编程中的sizeof运算符与typeid运算符
- C语言system命令
- C语言模拟C++类
- C++中关于[]静态数组和new分配的动态数组的区别分析
- C++ using namespace std 用法深入解析
- 详解C++中二进制求补运算符与下标运算符的用法
- C Programming Chapter2
- 深入解析C++编程中范围解析运算符的作用及使用
- C/C++代码调试:快速定位内存的申请和释放的位置