STL scoped_ptr
СµÜÎÒ³õ´Î½Ó´¥STL£¬ÏëÃ÷°×ΪʲôÏÂÃæµÄ³ÌÐò±àÒë²»ÁË£¬Ê¹ÓÃscoped_ptrÐèÒª°üº¬ÄÇЩͷÎļþºÍʹÓÃÄÇЩnamespace.#include <iostream>
using namespace std;
class CTest
{
public:
CTest() : m_id(0) {}
CTest(int id) : m_id(id) {}
~CTest() { std::cout << "id: " << m_id << " - Destructor is being called\n"; }
void SetId(int id) { m_id = id; }
int GetId() { return m_id; }
void DoSomething()
{
std::cout << "id: " << m_id << " - Doing something\n";
}
private:
int m_id;
};
int main()
{
boost::scoped_ptr<CTest> pTest(new CTest);
pTest->DoSomething();
return 0;
}
RE:STL scoped_ptr
¸ÕÔÚÍøÉÏÕÒµ½ÁË£¬ÐèÒª#include <boost/scoped_ptr.hpp> boost µÄ¶«Î÷µ±È»Òª include boost µÄ header files ÁË Êܲ»ÁËÕâÖÖÎÊÌâ #inlclude <boost/scoped_ptr>
boost::scoped_ptr<type_name> name(new(...)); scoped_ptr ÕâÊÇBOOSTÀïÃæµÄ,¶ø²»ÊÇSTLÀïÃæµÄ.
Ò³:
[1]