|
|
1
9
在C++的一个项目中,我做了大约六年前,我们实现了我们自己的Boost型自动指针方案。它工作得很好,除了其中的各种错误。(当然希望我们使用了Boost…) 尽管如此,它并没有改变我们开发代码的方式。有或没有托管指针的面向对象设计非常相似。有时需要返回对象,有时指向对象的指针更重要。智能指针的好处与您如何设计应用程序的关系不大。与传递潜在危险的内存泄漏不同,您可以传递相同的数据,并相当确定它不会泄漏。 在这方面,您可以使用智能指针做更多的事情:简化代码。您可以更自由地传递复杂的数据结构或类,而不是在任何地方返回整数或基本结构。你可以更快地构建更复杂的应用程序,而不用担心那么多。它让你在需要的时候拥有C和C++的原始能力(如果你不需要它,为什么你会使用C或C++?)并且拥有轻松的内存管理,这是一个惊人的生产力提升。如果自动管理的内存没有用,那么它就不会用地球上几乎所有其他语言了! |
|
|
2
3
STL/Boost是一种工作工具。它们帮助我实现我的想法,而不是反过来。说明:提神并没有提高我的技能。 |
|
|
3
3
它深刻地改变了我的编码方式,我正在传播这个词。特别是通过使用boost.graph和boost.propertymap,我意识到我可以在一个简单的类中编写“真”算法,不知道(还不知道)如何访问信息,甚至不知道(或关心)在执行算法时可能会做什么子操作。 我的团队现在正在使用图形工具设计复杂的计算功能。 有人可能会争辩说,模板确实是这种变化的基础,但Boost显然为这种变化铺平了道路。对我来说,发现新的Boost库通常是学习可应用于我们日常工作的重要内容的绝佳机会! |
|
|
4
1
一旦我发现
例如,pre-boost我已经建立了一个菜单系统,其中的菜单是
另一件事:仅仅看看Boost成功使用模板的方式,真的让我提高了对模板可能实现的期望,并努力在自己的代码中更好地使用模板,所以我正在编写更多的“通用”和更少的“OOP”代码。 智能指针当然是有用的,并且得到了大量的覆盖,但是除了清除一些显式的删除之外,它们几乎不是范例转换。 |
|
|
5
0
对我来说,它并没有改变我设计的方式,但是Boost确实给了我额外的工具,这样某些事情就更容易了。例如,使用“智能”指针,我不再需要考虑确保在适当的时间销毁某些对象创建(主要是在例外情况下)。但是像任何工具一样,我必须理解何时使用它们,何时不使用它们。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |