gpt4 book ai didi

c++ - 使用 boost 指针会改变您的 OO 设计方法吗?

转载 作者:太空狗 更新时间:2023-10-29 19:40:08 26 4
gpt4 key购买 nike

从 C++ 切换到 C++ w/boost 后,您认为您的 OOD 技能 boost 了吗?

您是否注意到“普通”C++ 代码中您不会认为已经切换的模式,或者您是否发现它支持更抽象的设计?

我想我真的很想知道您是否只是将它用作一种工具,或者您是否改变了整个 OO 设计方法以在使用 boost 指针时更有效地使用对象。

编辑:总结

这个问题有点奇怪——我问这个问题是因为我遇到过太多根本不是面向对象的 C++ 代码。我相当确定(有了这个以及我在转向托管语言之前所做的工作),用 C++ 的 OO 比托管语言更难思考。

通过查看这些帖子,我猜你在发现需要更好的内存管理方法之前了解了 OO 的值(value),所以当你开始寻找像 Boost 这样的东西时,你已经在使用 OO方法论相当重要。

我有点期待一堆答案说它帮助他们在 OO 中思考,但现在我想起来了,如果你不使用 OO, boost 指针不是很有帮助,你不会看到对它们的需求(这样你就不会回复)。

最佳答案

在大约六年前我用 C++ 做的一个项目中,我们实现了我们自己的类似 boost 的自动指针方案。它工作得很好,除了其中的各种错误。 (当然希望我们使用了 boost...)

尽管如此,它并没有真正改变我们开发代码的方式。面向对象的设计,无论有无托管指针,都非常相似。有时您需要返回对象,或者有时指向对象的指针更为重要。智能指针的优点与您设计应用程序的方式关系不大。您可以传递相同的数据并相当确定它不会泄漏,而不是四处传递具有潜在危险的内存泄漏。

在这方面,您可以使用智能指针做更多的事情:简化您的代码。无需到处返回整数或基本结构,您可以更自由地传递复杂的数据结构或类而无需担心。您可以更快地构建更复杂的应用程序,而不必担心太多。它让您在需要时拥有 C 和 C++ 的原始功能(如果您不需要它,为什么要使用 C 或 C++?),并且内存管理的简便性极大地 boost 了工作效率。如果自动管理的内存没有用,地球上几乎所有其他语言都不会使用它!

关于c++ - 使用 boost 指针会改变您的 OO 设计方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/570693/

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