据说 C 风格的转换只是尝试应用不同组合的 C++ 转换,然后使用第一个允许的组合。然而,我有一种感觉,听说有些情况只有 C 风格的转换可以处理,而任何 C++ 转换的组合都不被允许。
我错了吗?在 C++ 中,任何 上下文中的 任何 C 风格转换都可以被适当的 C++ 转换组合替代吗? 更新 感谢 Cheers and hth. - Alf,我们有一个例子表明 C++ 转换无法处理,因为它们不能产生 定义的 和 预期的 行为。进阶问题是提供一个示例,其中 C++ 转换无法处理,这意味着它甚至不能被 编译?
我错了吗?在 C++ 中,任何 上下文中的 任何 C 风格转换都可以被适当的 C++ 转换组合替代吗? 更新 感谢 Cheers and hth. - Alf,我们有一个例子表明 C++ 转换无法处理,因为它们不能产生 定义的 和 预期的 行为。进阶问题是提供一个示例,其中 C++ 转换无法处理,这意味着它甚至不能被 编译?
reinterpret_cast
吗? - CompuChipreinterpret_cast
甚至不能做一些static_cast
能做的事情,而这两者都与const_cast
毫不相关。 - Mikhail