【C++】前缀++和后缀++的区别

因为现在在看典型运算符的重载,其中有对前缀++和后缀++的重载,又忘记了它们之间的区别,去论坛看了下得到了很好的理解,

区别:

引用论坛中博友的话:

前缀就是自己本身+1

后缀就是给一个没+1的副本使用

对于这句话我大概理解到了,不过这针对的应该是返回值来说的。

 

++i和i++连起来应该看是一个函数的缩写 。可以对照运算符重载中对增量运算符的重载。

 

然后又通过下面博友的话,我就逐渐清晰了:

int i = 0, n = 0;

int test = ++i;
//此时,test等于1,i也等于1

test = n++;
//此时,test等于0,n等于1

因此,要说本质区别就是前缀加加返回自增后的自己,而后缀加加是返回自增前的值

通过联想for循环中使用的++i,和i++,曾经隐约记得老师上课好像说使用++i比较好,效率更高,但是之后就逐渐模糊到底哪个更好了,因为总是记不住他们到底有啥区别。

下面自己写个程序加深下印象:

代码如下:

#include <iostream>

using namespace std;

int main()
{
   int j=0,k=0;
   int suffix_plus=j++;
   int prefix_plus=++k;
   cout<<"后缀++:suffix_plus=j++; suffix_plus="<<suffix_plus<<endl;
   cout<<"前缀++:prefix_plus=++k; suffix_plus="<<prefix_plus<<endl;
   cout<<"输出运算中的‘副本’"<<endl;
   cout<<"j++后的i= "<<j<<endl;
   cout<<"++k后的k= "<<k<<endl;
    return 0;
}

运行结果:

写在这里防止之后自己又忘了,记录下,继续奋斗~ 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值