leaky.cpp

来自「C++高级编程这本书所附的源代码」· C++ 代码 · 共 30 行

CPP
30
字号
#include <iostream>

using namespace std;

class Simple 
{
public:
  Simple() { mIntPtr = new int(); }
  ~Simple() { delete mIntPtr; }

  void setIntPtr(int inInt) { *mIntPtr = inInt; }

protected:
  int* mIntPtr;
};

void doSomething(Simple*& outSimplePtr)
{
  outSimplePtr = new Simple(); // BUG! Doesn.t delete the original
}

int main(int argc, char** argv)
{
  Simple* simplePtr = new Simple(); // allocate a Simple object

  doSomething(simplePtr);

  delete simplePtr; // only cleans up the second object
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?