俄罗斯方块

俄罗斯方块

俄罗斯鹅肝酱

这玩意就和Wikipedia一样与「官方」这两个字一点边都不沾。那句话纯粹是编辑这个页面的人自己的理解,具体来说这里面有一些unspecified行为(比如编译器是否进行empty base optimization,另外potentially-overlapping是个有自己含义的术语可能和你想象中的「有重叠」说的是两个事),传染到了memcpy上,所以这里也说是not specified;另外编辑者觉得在这些情况下,当满足一些懒得细说的条件时能推断出来会有UB(比如你瞎改内存破坏了一个类的某些约定导致日后用它的时候炸了,然后根据UB的定义只要你程序中有一处炸了其他地方编译器理论上就可以尽情开俄罗斯方块),所以就写了个may be上去,实际上并不存在什么悬念(夸张点说这就跟说一个完全未知的C++程序may be undefined一样无聊,因为这纯粹是你还没告诉我具体有啥东西)。

考虑到不可能把这种个人理解全删了或者都补全到一致的程度(比如那几个其他的memxxx在同样的问题上就被糊上了不同的wording,估计总有几个是错的),我觉得这网站真应该把标准规定的行为和维护者自己的阐述(哪怕是对的)分开(虽然说实话我觉得在那坨从C库中搬过来的东西里面当语言律师也挺无聊的,毕竟搞不好哪个地方两个标准就因为基本概念定义不同有冲突了……

(如果你好奇为什么【俄罗斯】这个词出现了这么多次……因为它居然是个敏感词。除此之外这里还有一个敏感词,但我懒得查了

(以及我这是人肉pimpl么。。。

Report Page