前言:
1.scoped_ptr 智能指针使用说明
示例代码:
#include "stdafx.h"
#include <boost/smart_ptr.hpp>
#include <iostream>
using namespace std;
using namespace boost;
class posix_file
{
public:
posix_file(const char * file_name)
{
cout << "open file! " << *file_name << endl;
}
~posix_file()
{
cout << "close file!" << endl;
}
};
int main(int argc, _TCHAR* argv[])
{
/************************************************************************/
/*scoped_ptr不允许赋值,拷贝,不支持--和++,只能在被声明的作用域内使用 */
/************************************************************************/
scoped_ptr<string> sptr(new string("test"));
cout << "指针内容为:" << (*sptr).c_str() << endl;
cout << "指针内容长度为:" << sptr->size() << endl;
scoped_ptr<int> iptr (new int);
*iptr = 1000;
cout << *iptr << endl;
{
scoped_ptr<posix_file> fptr(new posix_file("/file/filename"));
}
while (1);
return 0;
}运行结果:
原文:http://blog.csdn.net/qingzai_/article/details/44678417