简单的实现RAII封装。

简单的实现RAII封装。
前面的文章中介绍了通过RAII的技术实现保证资源被释放和某函数被执行的类似finally关键字的功能。并演示了一个通过boost的function和bind的两个库实现的通用RAII封装类。

那个例子固然通用而有效,然而,我们有时项目中并没有用到boost库,就要自己封装一个了。

#include <iostream>
using namespace std;

void main()
{
    int i = 3;
    cout<<"hello world  "<<i<<endl;

    struct finalcall
    {
        int& i;
        finalcall(int& i):i(i){}   
        ~finalcall(){cout<<"final hello world  "<<i<<endl;}
    }f(i);
    i=2;
}

上述例子中通过局部类简单的封装了一下。比较简单,就不多介绍了。

原文地址:https://www.cnblogs.com/TianFang/p/890785.html