初始化是否需要从lvalue到rvalue的转换?‘int x=x;’UB?C+标准包含了3.3.2中“令人惊讶的”名称查找的一个半著名的示例“声明点”:int x = x;这将初始化x它本身,它(是一个原始类型)是未初始化因此,它有一个不确定的值(假设它是一个自动变量)。这实际上是没有定义的行为吗?根据4.1“lvalue-rvalue转换”,对未初始化的值执行lvalue-rvalue转换是未定义的行为。右手x接受这个转变?如果是这样的话,这个例子是否真的有未定义的行为呢?
3 回答
扬帆大鱼
TA贡献1799条经验 获得超9个赞
- 3 回答
- 0 关注
- 458 浏览
添加回答
举报
0/150
提交
取消