智能指针在C++11的标准中已经存在了,分别是unique_ptr,shared_ptr,weak_ptr,其中最常用的应该是share_ptr,它采用引用计数的方式管理内存,当引用计数为0的时候,自动释放内存,但是由于shared_ptr考虑到了线程安全,所以会存在有较大的性能损失。所以在实时游戏开发中,往往不会用到shared_ptr。
在cocos2d-x3.2以及更高的版本中,cocos...
分类:
其他好文 时间:
2015-03-28 13:04:33
阅读次数:
750
从智能指针说起 unique_ptr取代auto_ptr 返回值优化(RVO) make_unique...
分类:
其他好文 时间:
2015-03-19 13:19:31
阅读次数:
204
C++ 智能指针
flyfish 2015-3-1
使用原始指针进行显示内存管理在性能上有优势,但容易出错。诸如 野指针,重复释放,内容泄露等。
C++为了在编程语言上支持更好的内存管理机制,C++98提供了auto_ptr,因为auto_ptr的缺点在C++11中被废弃,C++11提供了
unique_ptr,shared_ptr,weak_ptr等智能指针在自动回收堆分配的内存,智能指...
分类:
编程语言 时间:
2015-03-01 17:09:47
阅读次数:
253
导读最近在补看《C++ Primer Plus》第六版,这的确是本好书,其中关于智能指针的章节解析的非常清晰,一解我以前的多处困惑。C++面试过程中,很多面试官都喜欢问智能指针相关的问题,比如你知道哪些智能指针?shared_ptr的设计原理是什么?如果让你自己设计一个智能指针,你如何完成?等等……。而且在看开源的C++项目时,也能随处看到智能指针的影子。这说明智能指针不仅是面试官爱问的题材,更是...
分类:
编程语言 时间:
2014-11-29 23:09:08
阅读次数:
422
智能指针是为了便于管理动态内存,能够自动管理释放所指向的对象。智能指针共有三种:1、shared_ptr允许多个指针指向同一个对象;2、unique_ptr独占所指向的对象;3、weak_ptr是一个伴随类,它是一种弱引用,指向shared_ptr所管理的对象。这三种类型都定义在memory头文件中...
分类:
编程语言 时间:
2014-11-08 16:36:26
阅读次数:
169
看到文章里的同学留言说到unique_ptr,这两天看了一下cplusplus提供的reference才知道这个东西是c++11的新特性,对c++11的新特性不是很了解,花时间了解了下unique_ptr,之前有写过auto_ptr的分析,这里就和auto_ptr对比下来看。unique_ptr.....
分类:
其他好文 时间:
2014-10-25 10:28:05
阅读次数:
1948
这一章暂时没写完,先留着以后再写。在C++程序中,程序员可以给手动开辟内存,但是这块内存需要手动释放,不便管理,因此新标准提供智能指针类型来管理动态对象。它负责自动释放所指向的对象。shared_prt允许多个指针指向同一个对象unique_ptr独占所指向的对象weak_ptr是一个弱引用,指向s...
分类:
编程语言 时间:
2014-09-09 21:28:39
阅读次数:
413
用智能指针可以简化内存管理。以树为例,如果用普通指针,通常是在插入新节点时用new,在析构函数中调用delete;但有了unique_ptr类型的智能指针,就不需要在析构函数中delete了,因为当unique_ptr类型的指针P生命结束时(比如对于局部变量,程序执行到局部变量的作用域范围之外).....
分类:
编程语言 时间:
2014-08-31 15:38:31
阅读次数:
246
原文地址为:http://www.drdobbs.com/cpp/c11-uniqueptr/240002708
在C++11中加入了很多的新特性,unique_ptr一枝独秀,对于动态分配的内存对象,它简单有效。虽然它不是万能的,但是它做的已经够好了:利用简单的语法便可以管理动态分配的对象。
基本语法:
unique_ptr 是一个模板类,你可以很简单地构造一个unique_ptr...
分类:
编程语言 时间:
2014-08-24 16:44:52
阅读次数:
238
C++ 98的 std::auto_ptr已经被彻底遗弃了,取而代之的是unique_ptr、shared_ptr与weak_ptr。大部分时候我们自己手动申请内存方式内存都是没有问题的,问题是如果程序很大了之后,一个复杂的对象,多次拷贝的代价非常高,很多地方都会使用到,只存在一份拷贝显然是最好的,...
分类:
编程语言 时间:
2014-08-01 13:27:51
阅读次数:
384