2008年10月13日 星期一

shared_ptr

shared_ptr是boost裡頭很重要的東西,可以讓C++ programer完全省掉delete memory的動作
目前shared_ptr已經加入而TR1裡頭了..
Visual C++ Feature Pack有完整的支援TR1..
http://www.boost.org/doc/libs/1_36_0/libs/smart_ptr/sp_techniques.html#preventing_delete

舊的寫法

class B
{
private:
int m_a;
double m_b;
};

int main(int argc, char *argv[])
{
B* b = new B;

// do something

delete b; // 要記得delete b

return 0;
}


使用shared_ptr

#include

class B
{
private:
int m_a;
double m_b;
};

int main(int argc, char *argv[])
{
std::shared_ptr b(new B);

// do something

// 不需要delete b

return 0;
}

沒有留言:

LinkWithin

Related Posts with Thumbnails