Tip:1

   a++与++a

//前缀形式,如++a

int &int::operator++()
{
   *this+=1;
   return *this;
}

//后缀形式,如a++,由于返回的是副本,所以设定了const int,因为给oldvalue赋值是危险的,函数出栈动作结束后,oldvalue就消失了。

const int int::operator++(int)
{
   int oldvalue=*this;
   ++(*this);
   return oldvalue;
}

也就是说

#include <cstdio>

int main(){
	int a=4;
	printf("%d",++a);
        return 0;
}

将输出5


#include <cstdio>

int main(){
	int a=4;
	printf("%d",a++);
	return 0;
}

将输出4


a++:加号后置 输出自增以前的数据;

++a:加号后置 输出自增以后的数据。

  

猜你喜欢

转载自blog.csdn.net/qq_42695892/article/details/81812075
TIP
今日推荐