摘要: 关于RAII(Resource Acquisition Is Initialization),以下两点是关键。获得资源后立刻放进管理对象(managing object)内: 在获得一笔资源后与同一语句内以它初始化某个管理对象。管理对象运用析构函数确保资源被释放: 无论控制流如何离开程序块,一旦对象被销毁(例如当对象离开作用域),其析构函数自然会被自动调用,于是资源被释放。一,常见用法RAII最常见的应用就是智能指针。我们知道对于程序块中动态分配的堆对象,应该保证当控制流离开程序块时被释放。 1: void func() 2: { 3: Foo* foo = new Foo; 4... 阅读全文
posted @ 2012-07-14 03:45 richfox 阅读(327) 评论(0) 推荐(0) 编辑