C++中前置++与后置++运算符重载
2017-07-31 11:25
155 查看
C++中前置++ 与后置++是不同的,具体不同,下面代码中有体现。
在后置++里,人为添加一个参数(int),主要是为了区别前置++,这个参数不会被使用。这里的int是个哑元。
一个函数的参数 只有类型 没有名字 则这个参数称之为哑元。
在后置++里,人为添加一个参数(int),主要是为了区别前置++,这个参数不会被使用。这里的int是个哑元。
一个函数的参数 只有类型 没有名字 则这个参数称之为哑元。
class A { public: A& operator++()//前置++,返回的是引用 { data +=1; return *this; } const A operator++(int)//后置++,返回的是值 { A old(*this); ++(*this); //调用前置++ return old; } //从代码可以看出,前置++比后置++效率高,不用产生临时对象,不用调用拷贝构造函数 int data; }; ostream& operator<<(ostream& os,A& a) { os<<a.data<<endl; return os; } int _tmain(int argc, _TCHAR* argv[]) { A a={1}; cout<<a;//1 A b=++a; cout<<b;//2 cout<<a;//2 A c=a++; cout<<c;//2 cout<<a;//3 return 0; }
相关文章推荐
- [C++] C++的运算符重载(+、-、前置--、后置--,前置++,后置++、==)
- [C++] C++的运算符重载(+、-、前置--、后置--,前置++,后置++、==)
- C++回顾之前置++、后置++、不等号!及赋值运算符重载
- c++ 前置++与后置++的区别
- 细谈C/C++中的前置++和后置++
- [C++] 前置++和后置++的区别
- C++中前置++和后置++的区别
- C++ 后置运算符重载 178
- c++ 前置++与后置++的区别
- C++再学习系列:前置++与后置++
- C++再学习系列:前置++与后置++
- C++ 后置运算符重载 180P
- C++ 后置运算符重载 =
- 对于C++中的前置++和后置++的看法
- C++中的前置++和后置++
- c++基础3:关于前置++和后置++的那么点纠结
- Time类中的运算符重载(3)-前置++,后置++
- C++回顾之前置++、后置++、不等号!及赋值运算符重载
- C++学习之运算符重载的总结
- 谭浩强C++程序设计第10章运算符重载