Ste*_*ano 6 c c++ memory-management
我正在从Java转向C++并且非常喜欢它.我不喜欢的一件事是根本不了解内存,因为Java过去常常为我做这件事.
我已经购买了一本书:内存作为C和C++中的编程概念 - Frantisek Franek
我是否有一些很好的网站可以交互式地学习C/C++和内存使用(教程,论坛,用户组)?
内存管理在C++中几乎是自动的(有一些注意事项).
大多数时候不动态分配内存.
使用局部变量(和普通成员变量),它们将自动构造和销毁.
当你需要指针时使用智能指针.
首先使用boost :: shared_pointer <T>而不是指针.
这将使您走上正确的路径并在错误的时间意外删除内存并且90%的代码将正确释放(不幸的是循环会导致问题(仅在泄漏方面)并且您需要相应地进行设计(但我们有其他智能指针来处理周期weak_ptr))
我的基本规则是类永远不会包含RAW指针.始终使用某种形式的标准容器或智能指针.使用这些; 析构函数调用变为自动.
一旦你感觉开始阅读其他智能指针以及何时使用它们:
试试这些:
http://www.mycplus.com/tutorials/cplusplus-programming-tutorials/memory-management/
http://www.cantrip.org/wave12.html
http://linuxdevcenter.com/pub/a/linux/2003/05/08/cpp_mm-1.html
在维基书中:http://en.wikibooks.org/wiki/C++_Programming/Memory_Management
本文将比较 Java 内存管理运算符与 C++ 等效项:http://www.javamex.com/java_equivalents/memory_management.shtml
http://www.infosys.tuwien.ac.at/Staff/tom/Teaching/UniZH/CPP/slides/cpp_07.pdf
希望这些能对您有所帮助!
| 归档时间: |
|
| 查看次数: |
217 次 |
| 最近记录: |