第3章 内存管理
内存管理一直是令C++(www.cppentry.com)程序员最头疼的工作,C++(www.cppentry.com)继承了C那高效而又灵活的指针,使用起来稍微不小心就会导致内存泄漏(memory leak)、"野"指针(wild pointer)、访问越界(access denied)等问题。曾几何时,C++(www.cppentry.com)程序员曾经无限地向往Java、C#等语言的垃圾回收机制。虽然C++(www.cppentry.com)标准提供了智能指针std::auto_ptr,但并没有解决所有问题。
阅读完本章,你会了解到高效的内存管理方法,彻底忘记"栈"(Stack)、"堆"(Heap)等内存分配相关的术语,并且还会发现,Boost为C++(www.cppentry.com)提供的解决方案可能要比Java和C#等其他语言更好。
3.1 smart_ptr库概述
计算机系统中资源有很多种,内存是我们最常用到的,此外还有文件描述符、socket、操作系统handle、数据库连接等等,程序中申请这些资源后必须及时归还系统,否则就会产生难以预料的后果。