迭代器的问题

[复制链接]
查看11 | 回复2 | 2010-8-2 10:24:29 | 显示全部楼层 |阅读模式
#include using namespace std; class _iterator { private: char* p; public: _iterator(char* str):p(str){} char*& operator++() { p+=1; //跟 p++同价; return p; } }; int main() { char* p="This is C++ program"; _iterator it(p); cout<<"++之前:"<<p<<endl; char* p1=++it; //把地址向前加了一个char 型长度,然后给指针p1 cout<<"++之后:"<<p1<<endl; return 0; }
谁能告诉我以上程序的作用是什么吗_iterator(char* str):p(str){} char*& operator++() 是什么意思啊

回复

使用道具 举报

千问 | 2010-8-2 10:24:29 | 显示全部楼层
#include using namespace std; class _iterator
{
private:
char* p;
public:
_iterator(char* str):p(str){} //_iterator类的构造函数//等价于 _iterator(char *str){ p=str;}//给类中private值 char *p 赋值//char* & operator++() //重载运算符++,对于这个类来说,所有它//实例对象++时,就会调用下面操作{
p+=1
回复

使用道具 举报

千问 | 2010-8-2 10:24:29 | 显示全部楼层
_iterator(char* str):p(str){}这个是构造函数的声明和实现。char*& operator++() 这个是后置++操作符重载声明。 整个程序的作用应该是演示如何重载后置++操作符。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行