正在阅读:浅谈内存泄漏(一)浅谈内存泄漏(一)

2004-02-14 09:34 出处:PConline 作者:johnnyxia/CSDN 责任编辑:linjixiong

  例三

  如果程序在结束的时候没有释放g_lpszFileName指向的字符串,那么,即使多次调用SetFileName(),总会有一块内存,而且仅有一块内存发生泄漏。

  4. 隐式内存泄漏。程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。严格的说这里并没有发生内存泄漏,因为最终程序释放了所有申请的内存。但是对于一个服务器程序,需要运行几天,几周甚至几个月,不及时释放内存也可能导致最终耗尽系统的所有内存。所以,我们称这类内存泄漏为隐式内存泄漏。举一个例子:

  class Connection

  {

  public:

  Connection( SOCKET s);

  ~Connection();

  …

  private:

  SOCKET _socket;

  …

  };

  class ConnectionManager

  {

  public:

  ConnectionManager(){

  }

  ~ConnectionManager(){

  list::iterator it;

  for( it = _connlist.begin(); it != _connlist.end(); ++it ){

  delete (*it);
键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品