boostshared_ptr用法

1 shared_ptr    不明确的符号

为漳县等地区用户提供了全套网页设计制作服务,及漳县网站建设行业解决方案。主营业务为网站设计、做网站、漳县网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

boost的一些库,比如share_ptr已经被高版本的stl采纳了.如果在代码中没有指定命名空间,编译器就无法得知应该使用哪个命名空间之下的代码进行编译如下引入的命名空间的方式不推荐

using namespace std;

using namespace tr1;

using namespace boost;

实际上两个智能指针是一样的,你只需要用一个即可.如果你一定要两个都用,那么不要写上面的语句.而是应该写std::tr1::xxxx, boost:xxxx

2 shared_ptr 作为类成员函数的写法

#include

#include

struct SStudentInfo

{

public:

SStudentInfo() 

{

std::cout << "Create instance" << std::endl;

};

~SStudentInfo() 

{

std::cout << "Free instance" << std::endl;

}

};

class CTestSharedPtr

{

public:

CTestSharedPtr() 

{

//m_student = new SStudentInfo();//error

m_student = boost::shared_ptr(new SStudentInfo());

};

~CTestSharedPtr() {};

private:

boost::shared_ptr m_student;

};


本文名称:boostshared_ptr用法
浏览地址:http://azwzsj.com/article/ipopsj.html