未定义的行为,或者:Swift是否有序列点?
在C/C++中,第二个声明在
int i = 0; int j = i++ + i++ + ++i; 调用两者 >未指定的行为,因为操作数的评估顺序 例如,参见 > Why are these constructs (using ++) undefined behavior? 现在,鉴于Swift被设计为一种安全的语言,那么它是什么 var i = 0 let j = i++ + i++ + ++i 明确界定?可以从语言参考中得出结论
Apple开发人员和Swift设计师Chris回答了这个问题
Lattner在Apple开发者论坛 https://forums.developer.apple.com/thread/20001#63783中:
克里斯还补充道:
同意!这是一个证明问题的极端例子. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |