C_and_CPP 板


LINE

※ 引述《wtchen (没有存在感的人)》之铭言: 问题点 :                        ^^^^^^ : 08. 你不可以在一个运算式(expression)中,对一个基本型态的变数修改其值 : ^^^^^^^^^^^^^^^^^^^^^^^^^^ : 超过一次以上。否则,将导致未定义的行为(undefined behavior) 可以改成:  08. 在一个无顺序点 (sequence point) 的表示式 (expression) 中... (略) 原因如下:  int i = 7; int j = (++i, i++); 是合法的,因为顺序点保证了执行的顺序。 ^^^^^^^^^^ 1 expression ^^^ ^^^ 2 subexpressions separated by 1 sequence point 不过这个好像也是有点太细节了。 此外,逗号运算符 (operator) 可以当作顺序点,但是逗号分隔符 (separator) 却不能, 因此,函数 function(a, b); 并不保证赋值的顺序是从左到右,可能是乱序,或是逆序。 所以,把上述的问题放在错误例子(最後两个)有点怪, 因为,会发生错误的原因跟一个表示式中修改两次值无关, 然而,相反的,函数 function 中,a 与 b 是两个不同的表示式, 只是那两个表示式之间并没有顺序点来保证 a 与 b 之间执行的顺序。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.160.127.22
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1465421123.A.115.html ※ 编辑: Hazukashiine (111.241.157.183), 06/09/2016 10:51:32
1F:推 wtchen: 我有想过把这篇重新用顺序点的概念重写,不过怎麽写都不顺 06/09 14:43
2F:→ wtchen: 你确定不是int j = (++i) + (i++); ? 06/09 14:44
无论如何 加号都不会是顺序点 所以 int j = (++i) + (i++); 仍然是未定义行为。
3F:→ wtchen: int j = (++i, i++); 是啥意思?函式吗? 06/09 14:48
int i = 7; int j = (++i, i++); // i : 7 → 8 (++i) // j = i (j == 8) // i : 8 → 9 (i++) (i == 9) ※ 编辑: Hazukashiine (111.241.157.183), 06/09/2016 14:58:47
4F:推 wtchen: 我得想一下怎麽改,C++11开始是用Sequenced Before/After 06/09 15:00
5F:→ wtchen: 取代sequence point,有没有不同要再研究一下 06/09 15:01
6F:→ wtchen: 有无C++11的高手可以出来补充一下? 06/09 15:01







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP