初始化是否需要左值到右值转换?
C 11 标准对于初始化是否需要左值到右值转换仍然不明确。但是,有证据表明,除非另有说明,否则右值应作为内置运算符中的操作数。这种方法已扩展到初始化器的上下文。
猜想:值的纯右值
假设的规范是,只要需要值,就需要纯右值,包括在初始化期间。这意味着初始化对象时需要进行左值到右值的转换。
猜想的后果
如果初始化需要纯右值,则会发生以下情况:
进一步证据
支持此猜想的其他证据包括:
结论
根据提供的证据,最可能的解释是初始化需要纯右值,从而在使用未初始化的左值作为初始化器时导致未定义的行为。除非另有说明,这种解释与期望内置运算符中的右值的更广泛方法一致。
以上是C 初始化是否需要左值到右值转换?的详细内容。更多信息请关注PHP中文网其他相关文章!