gpt4 book ai didi

java - 为什么向下转换在 C++ 中是一种不好的做法,而不是在另一种语言中?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:50:07 25 4
gpt4 key购买 nike

<分区>

我曾经问过一个关于如何设计一段 C++ 代码的问题(可以在此处找到 C++ - Good or bad practice? ),人们告诉我,除了非常特定的场景外,向下转换被认为是一种不好的做法。

但是,我看过许多 C# 和 Java 代码片段,其中它似乎是一种完全自然的做事方式。例如,在 Android SDK 中,您有一个函数 Activity#findViewById(),它返回一个 View ,然后您向下转换为它的实际类:

TextView tv = (TextView) this.findViewById( R.id.myTextView );

为什么需要在 C++ 中避免这种情况而不是在其他语言中?
我知道 C# 和 Java 本身都支持内省(introspection),而不是 C++,后者需要类型字段,但最终它们是一回事,不是吗?

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