当获得具有自动或动态存储持续时间的对象的存储时,该对象具有不确定的值,并且如果未对该对象执行任何初始化,则该对象将保留不确定的值,直到替换该值为止。
对于对象获取存储,这到底意味着什么?考虑以下代码片段:
int a = 0;
new (&a) int;
何时获取int
由new-expression创建的对象的存储空间?是在获取通过定义创建的原始对象的存储时,还是在new-expression创建对象的存储时获取了它?
(旁注:根据P0593,由于[basic.life] p4,此新对象将具有不确定的值,但是未明确指定该值,除非在创建第二个对象时认为已获取存储空间)
编辑:这似乎是CWG 1997未解决的缺陷报告的主题
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句