设为首页 加入收藏

TOP

C++基础之单例模式(二)
2013-09-26 19:57:50 来源: 作者: 【 】 浏览:279
Tags:基础 单例 模式

 

  3.1.3.内存泄漏检测

  通过vld进行检测内存泄漏,当未添加CGarbo类,内存泄漏一个字节,即该空单例类实例所占的1个字节,如下。添加CGarbo类及静态成员变量后,内存无泄漏。

  [html] view plaincopy

  Visual Leak Detector Version 2.3 installed.

  WARNING: Visual Leak Detector detected memory leaks!

  ---------- Block 1 at 0x003AC038: 1 bytes ----------

  Call Stack:

  d:\microsoft visual studio 9.0\projects\testcpp\testsingleton\singleton1.h (11): TestSingleton.exe!CSingleton1::getInstance + 0x7 bytes

  d:\microsoft visual studio 9.0\projects\testcpp\testsingleton\testsingleton.cpp (12): TestSingleton.exe!wmain

  f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (583): TestSingleton.exe!__tmainCRTStartup + 0x19 bytes

  f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (403): TestSingleton.exe!wmainCRTStartup

  0x7C81776F (File and line number not available): kernel32.dll!RegisterWaitForInputIdle + 0x49 bytes

  Data:

  CD

  3.2.静态局部变量实现

  3.2.1.特点

  A.无需考虑内存释放问题。

  B.禁用类拷贝和类赋值。

  3.2.2.示例

  [cpp]

  //Singleton2.h

  #pragma once

  class CSingleton2

  {

  public:

  static CSingleton2& getInstance()

  {

  static CSingleton2 instance;

  return instance;

  }

  private:

  CSingleton2();

  CSingleton2(const CSingleton2 &);

  CSingleton2 & operator = (const CSingleton2 &);

  };

  3.2.3.无内存泄漏相关问题

      

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++代码的编译过程 下一篇冒泡排序、插入排序与选择排序

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: