gpt4 book ai didi

C++ 哪里需要本地扩展或外部方法?

转载 作者:行者123 更新时间:2023-11-28 08:21:39 24 4
gpt4 key购买 nike

我对 C++ 还不够熟悉,不知道哪里需要这两个非常相似的重构(引入本地扩展和引入外部方法)。我知道强制使用这些的案例,但我想不出需要这个“技巧”的示例类。我正在制作 C++ 重构教程,以帮助新开发人员,但看起来我也需要你的帮助:)

如果你使用过它,请告诉我在哪里以及为什么使用它。提前致谢。

最佳答案

“外部”方法是操作类的方法,但不是类的成员。在 Java 中,这仅意味着其他类的(静态)方法将第一个类作为参数。在 C++ 中,您需要了解免费 函数。与 Java 不同,在 C++ 中,方法可以存在于类之外。 int main() 是最著名的一个。 STL 还包含免费功能。一个人进去看看就好了。

对于 Java,您链接的站点建议 "foreign methods are a work-around"并建议“引入本地扩展”作为替代重构。在 C++ 中,自由函数不是解决方法。这意味着引入本地扩展的压力要小得多。

此外,在 C++ 中,函数默认不是虚函数,对象通常按值传递。这意味着“引入本地扩展”技术经常会失败。

我希望这能说明您的方法的根本问题:您正在采用 Java 的重构技术来解决特定的 Java 弱点,并尝试将它们转换为具有一组完全不同的弱点的 C++。即使在有效的地方,它也常常是不必要的。

关于C++ 哪里需要本地扩展或外部方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5626521/

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