, .
. , . , , -, . , . , XML , .
, , - , :
class CLock
{
public:
CLock() {}
~CLock() {}
void Lock(...) {...}
void Unlock(...) {...}
};
std::vector<CLock> myLockVec;
CLock , , ? , .
, :
std::vector<int*> myIntVec;
, , NULL'd, ? , 0xdeadbeef, .
- , , - - . , , , .
, HOLDS . RAII - - , , - . CLock , , !
class CLock
{
...
~Clock()
{
if (locked)
{
Unlock();
}
}
}
. , smart_ptr. .
class CSmartPointer<T>
{
CSmartPointer( T* rawPtr)
{
m_ptr = rawPtr;
}
~CSmartPointer()
{
delete m_ptr;
}
}
, , .