免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: liaosnet
打印 上一主题 下一主题

[C] i++与++i问题 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2008-10-02 07:56 |只看该作者
编译器,,,,,,,,,,,

这个版我已经见到七八次了

论坛徽章:
0
22 [报告]
发表于 2008-10-02 09:38 |只看该作者
还是不要用这样的代码就好了。逻辑是自己理的,实现的,何必为难自己呢。

论坛徽章:
0
23 [报告]
发表于 2008-10-02 14:53 |只看该作者
呵呵 最好不用

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
24 [报告]
发表于 2008-10-02 15:06 |只看该作者
这个问题本版问的确实太多了,LZ先搜一下吧

论坛徽章:
0
25 [报告]
发表于 2008-10-02 16:55 |只看该作者
int p=0;
int i=5;
p+=++i;
p+=++i;
p+=++i;

多写几行代码,拷贝粘贴就行了,累的是磁盘,不是你

论坛徽章:
0
26 [报告]
发表于 2008-10-04 03:50 |只看该作者
顶贴  我看C和指针上面将,+结合的时候只是L-R,但是标准没有说必须得先算L,后算R.
需要自己手动确定L和R先后顺序对+之后的结果没有影响.

论坛徽章:
0
27 [报告]
发表于 2008-10-04 09:24 |只看该作者
具体怎么算,是由编译器决定的。楼主还是不要在这上面耽误工夫了。

论坛徽章:
0
28 [报告]
发表于 2008-10-04 11:25 |只看该作者
运行环境的不同而已

论坛徽章:
0
29 [报告]
发表于 2008-10-04 20:27 |只看该作者
关于++的我的看法:
++对于普通类的重载操作符来说:
A& A:perator++(int){ this->i++;return *this; }
const A   A:perator++(){A t(*this);this->i++;return t;}
首先看到后便++多了一步,第二前边++可以 作为lvalue;
这个题目的分析嘛,,
(i++)+(i++)+。。
就是一个括号进行一次operator,这里我以为和类是相同的
所以如果i=0,那么
(i++)+(i++)
(0++)+(1++);
最后i=2;

论坛徽章:
1
射手座
日期:2013-08-21 13:11:46
30 [报告]
发表于 2008-10-05 01:19 |只看该作者
原帖由 nbkjbo 于 2008-10-4 20:27 发表
关于++的我的看法:
++对于普通类的重载操作符来说:
A& A:perator++(int){ this->i++;return *this; }
const A   A:perator++(){A t(*this);this->i++;return t;}
首先看到后便++多了一步,第二前边++ ...


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP