c – 虚拟基础到非多态类型的派生强制转换
发布时间:2020-12-16 07:11:32 所属栏目:百科 来源:网络整理
导读:基于派生的转换需要通过static_cast或dynamic_cast进行显式转换.当基数是虚拟的时,只适用后者.此外,dynamic_cast只能用于多态类型.总之,两者似乎表明,由于涉及的类型不是多态的,因此将虚拟基数转换为派生几乎是不可能的.这是真的? 解决方法 您对该标准的解
基于派生的转换需要通过static_cast或dynamic_cast进行显式转换.当基数是虚拟的时,只适用后者.此外,dynamic_cast只能用于多态类型.总之,两者似乎表明,由于涉及的类型不是多态的,因此将虚拟基数转换为派生几乎是不可能的.这是真的?
解决方法
您对该标准的解释似乎是正确的.
但是我愿意争辩说这没关系,因为你假设的虚拟基础与非虚拟析构函数是一个等待发生的灾难,当有人试图以多态方式删除它并因为析构函数是非虚拟的而导致未定义的行为. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |