C++中前置++ 与后置++是不同的,具体不同,下面代码中有体现。
在后置++里,人为添加一个参数(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; }

技术
©2020 ioDraw All rights reserved
哇靠靠,这也行?零基础DIY无人驾驶小车(二)通讯流程图Android 原生项目集成 FlutterPython绘制的爱心树与表白代码你知道Python基础包含哪些内容?学习什么吗?世界上第一个成像探测器运用激光和声音探测癌细胞JWT expired at 2021-03-08T14:02:47+0800. Current time: 2021-03-08T14:03:12+0800Python基于Django学生教务选课系统设计智慧城市发展情况及未来Angular添加自定义属性并绑定一个变量