您将在本文档的第 937 页找到以下代码:
template<class T> class Safe
{
T* p; // p points to a T allocated using new
public:
Safe() : p(new T) {}
~Safe() { delete p; }
Safe& operator=(const Safe& a) { *p = *a.p; return *this; }
// ...
};
看起来, p 指向的对象将在上面的赋值运算符中泄漏。