C++中前置++与后置++

本文详细解析了C++中前置++i与后置i++的操作符重载实现方式及其使用场景。通过具体示例说明两者在不同上下文中的行为差异,帮助读者深入理解这两种递增操作符的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++中++i与i++区别

++i与i++内部实现

//前置++
Operator Operator::operator++()
{
	++value; //内部成员变量
	return *this;
}
//后置++
Operator Operator::operator++(int)
{
	Operator temp;
	temp.value=value;
	value++;
	return temp;
}

当在for循环中++i与i++是一条单独的语句的话效果是一样的。
for(i=0;i<9;i++)与for(i=0;i<9;++i)都表示每次for循环结束时i+1后判断i是否<9再进入下一次循环。或者是循环内部的i++;及++i;也同理。

但如果不是单独语句,就有区别
比如n=++i;和n=i++;n赋的值就不同,前者n的值为i+1,后者n的值为i。
再有把一个数组的值赋到另一个数组中时,y[j++]=x[i];与y[++j]=x[i];也不同,y数组开始储存的起点不同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值