![]() |
![]() |
TOP > C++ > auto_ptr |
![]() |
![]() |
auto_ptrの利用方法
STLのauto_ptrは、動的に取得したポインタの管理を行ってくれる。
"メモリの開放の忘れ"に対して有効である。
auto_ptrの弱点
auto_ptrはオブジェクトなのでスタック領域に確保され、そのスコープを抜けると自然消滅する。当然、オブジェクト自体が消滅するので、保持しているポインタも消滅する。
auto_ptrの例
#include <iostream> #include <memory> using namespace std; class CTest { public: CTest() : m_a(0){ }; ~CTest(){ if (m_a) delete m_a; }; void init() { m_a = new int; } void setParam(int a) { *m_a = a; } private: int *m_a; }; extern void CheckPointer(auto_ptr |
![]() |
![]() |
Copyright 2007 ためになるホームページ All Rights Reserved. |