代码示例

 

《设计模式》书中的代码示例我们已经在已经在前面的文章中给出过,虽然类名不同,但是内容是一回事,所以这里不再重复了。这里给出一个更加彻底的引入C++11新特性的代码示例。首先是头文件:

Aha!设计模式(41)-单例(7)

和之前介绍的例子相比,代码中增加了shared_ptr的使用。接下来是实现部分的代码:

 

Aha!设计模式(41)-单例(7)

由于使用了静态变量(不是静态数据成员),内存管理已经很简单,并没有因为引入了shared_ptr而变得更加简单。但是通过这部分代码,使用者可以用之前介绍的示例代码同样的方式使用shared_ptr管理变量,而不是只能在这里继续使用通常的指针变量。

 

作者观点

 

今天代码中使用了C++11的新特性:shared_ptr。这件事从单例模式本身来讲好像并没有什么特别的好处,但是设想一下:如果代码其他的部分都是使用shared_ptr来管理内存,只有这里不行,那是多么痛苦的一件事。

 

这种风格统一本身就具有很大的意义。

 

 

觉得本文有帮助?请分享给更多人。

阅读更多更新文章,请扫描下面二维码,关注微信公众号【面向对象思考】

Aha!设计模式(41)-单例(7)

相关文章:

  • 2021-09-12
  • 2021-11-25
  • 2022-01-07
  • 2021-10-01
  • 2021-06-27
  • 2021-06-17
  • 2021-05-01
  • 2021-05-21
猜你喜欢
  • 2021-04-13
  • 2021-09-12
  • 2022-03-06
  • 2021-07-06
  • 2021-08-26
  • 2021-10-03
  • 2022-12-23
相关资源
相似解决方案