![]() |
1
6
在遗留代码上通常有很多手动内存管理。如果有人没有花时间重构它,你可以找到很多赤裸裸的新闻和删除,只是高兴地等待泄漏某处。 我相信C++中最新的、编写良好的软件通常使用智能指针、RAII等等。手动内存管理容易出错。 |
![]() |
2
3
也就是说,在现实世界中,使用boost。使用第三方库。如果一个轮子在外面,不要重新发明它。你会更有效率,你会花更少的时间去写别人已经写过的代码。 |
![]() |
3
2
取决于你所说的“内存管理”是什么意思。 显然,严格的定义意味着“所有的时间”,因为自动变量(堆栈分配)是内存的东西。你可能不是故意的。
另一边是生的
在中间,理想情况下所有的“管理”都是通过容器自动完成的。唯一需要做的管理就是打破循环依赖或创建自己的容器类。
在我自己的项目中,我只使用
|
![]() |
4
0
也就是说,现在越来越多的程序员在他们的项目中使用boost和智能指针,我也看到一些代码被重构为使用boost::shared\u ptr |
![]() |
5
0
还值得一提的是,shared\u ptr在2003年作为std::tr1::shared\u ptr进入标准库。或者至少,如果它不是正式的在图书馆,它是用我最近使用的所有C++编译器来运输的。 |
![]() |
Community wiki · safe_ptr实现 1 年前 |
![]() |
lplplplp · 为什么不能访问函数外的结构指针 2 年前 |
![]() |
Fabio · 在c中将指针赋给常数指针++ 2 年前 |
![]() |
Gabe Tucker · 无法在golang中分配接口对象指针 2 年前 |