gpt4 book ai didi

c++ - C++显式转换真的那么糟糕吗?

转载 作者:可可西里 更新时间:2023-11-01 15:31:27 26 4
gpt4 key购买 nike

此时我对 C++ 的了解比其他任何知识都更学术。在我迄今为止的所有阅读中,显式转换与命名转换的使用(const_caststatic_castreinterpret_castdynamic_cast) 带有一个很大的警告标签(很容易看出原因),暗示显式转换是不良设计的症状,只能在绝望的情况下作为最后的手段使用。所以,我不得不问:

使用命名强制转换的显式转换真的只是陪审团操纵代码,还是对此功能有更优雅和积极的应用?后者有一个很好的例子吗?

最佳答案

有些情况下您离不开它。喜欢this one .问题是你有多重继承,需要将 this 指针转换为 void*,同时确保进入 void* 的指针将仍然指向当前对象的右子对象。使用显式强制转换是实现这一目标的唯一方法。

有一种观点认为,如果你不能没有类型转换,那么你的设计就很糟糕。我不能完全同意这一点 - 可能有不同的情况,包括上面提到的一种情况,但也许如果您需要经常使用显式强制转换,那么您的设计确实很糟糕。

关于c++ - C++显式转换真的那么糟糕吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3045602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com