免费注册 查看新帖 |

Chinaunix

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

[C] 有多少科班毕业的不知道 a+=a-=a*a 是UB? [复制链接]

论坛徽章:
8
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58技术图书徽章
日期:2013-12-04 10:48:50酉鸡
日期:2014-01-03 10:32:30辰龙
日期:2014-03-06 15:04:07
131 [报告]
发表于 2013-02-21 18:44 |只看该作者
starwing83 发表于 2013-02-21 18:30
— Between two sequence points, an object is modified more than once, or is modified
and the prior value is read other than to determine the value to be stored (6.5).


我猜他会说:这段话和优先级和表达式有五毛钱关系吗?

论坛徽章:
0
132 [报告]
发表于 2013-02-21 19:21 |只看该作者
starwing83 发表于 2013-02-21 18:30
回复 127# hnynes

嗯,按这话,确实修改了不只一次。学习了。

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
133 [报告]
发表于 2013-02-21 19:43 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
摩羯座
日期:2013-12-19 10:04:07
134 [报告]
发表于 2013-02-21 20:10 |只看该作者
shan_ghost 发表于 2013-02-21 18:44
我猜他会说:这段话和优先级和表达式有五毛钱关系吗?
嘿嘿 有破绽

论坛徽章:
0
135 [报告]
发表于 2013-02-22 08:52 |只看该作者
这里的重点是,根据具体实现来推测是否正确是错误的。
因为,规则是人为定义的,实现也可以有bug
还有上面谁要找UB的,那个Annex J是informal的,具体要找也别忘了找第四章conformance,里面有说shall/shall not的问题。

论坛徽章:
0
136 [报告]
发表于 2013-02-22 08:59 |只看该作者
本帖最后由 幻の上帝 于 2013-02-22 09:09 编辑

另外我要说的是LZ这个例子比较微妙……
我可以很明确地确定,若a具有volatile类型,C/C++中都是UB;否则,C99、C++98/03中是UB,但C++11中不是,而C11(WG14/N1570)比较含糊(但我认为既然都使用了C++11的sequence before/after代替sequent point了……)(呃,我二了,虽然6.5.16是比较含糊没错但这里不影响。。。)因为赋值表达式不是左值,不需要发生包含副作用的左值转换,也不是:
http://tieba.baidu.com/p/2091426198

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
137 [报告]
发表于 2013-02-22 11:25 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
138 [报告]
发表于 2013-02-23 10:48 |只看该作者
pmerofc 发表于 2013-02-22 11:25
回复 136# 幻の上帝

建议把你整理的那些东西转发到这边

笔记类似物,反正也不长,能看得清就行了。
(那边最麻烦的就是URL容易被吃,不过这篇没有。)
看得懂的倒也有几个。

论坛徽章:
0
139 [报告]
发表于 2013-02-24 12:03 |只看该作者
嘛意思。。。a+=a-=a*a已经不算UB了?
从长远的角度看LZ的题是否还是UB?
菜鸟求指教!!!

论坛徽章:
0
140 [报告]
发表于 2013-02-28 15:24 |只看该作者
本帖最后由 rbluesea 于 2013-02-28 15:29 编辑

这个用我老家的说法就是:瞎子捡了一本经-------逢人就念
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP