CSocket* m_pSocket;
m_pSocket = new CSocket();
m_pSocket->Create();
m_pSocket->Close();
delete m_pSocket;
m_pSocket = NULL
就上面几行代码,如果不停的调用,内存就会一直增长,这是为什么呢?应该怎么解决?

解决方案 »

  1.   

    Create()函数内部有内存分配操作??没道理的。
      

  2.   

    delete m_pSocket; 
    删除指针  没释放指针指向的内存
      

  3.   

    建议楼主仔细检查自己的代码
    特别是确认一下new和delete的变量名是不是同一个另外局部变量不要用m_来命名,成员变量才用m_作前缀
    怀疑你new赋给了一个成员变量,结果delete了另外一个局部变量。
      

  4.   

    多修炼内功,有时间看看《高质量C++编程指南》《Effective C++》之类的书~
      

  5.   

    重写了下发现果然没有问题
    可打开之前写的还是有问题
    比较了下,发现之前的那个在InitInstance()函数中加入了AfxSocketInit(),而刚才写的没有
    这是什么原因呢?