原文:C++:为什么unique_ptr的Deleter是模板类型参数,而shared_ptr的Deleter不是?

为什么unique ptr的Deleter是模板类型参数,而shared ptr的Deleter不是 上面的代码中能看到unique ptr的第二个模板类型参数是Deleter,而shared ptr的Delete则只是构造函数参数的一部分,并不是shared ptr的类型的一部分。 为什么会有这个区别呢 答案是效率。unique ptr的设计目标之一是尽可能的高效,如果用户不指定Deleter, ...

2017-10-31 20:48 0 1493 推荐指数:

查看详情

c++智能指针(unique_ptrshared_ptr、weak_ptr、auto_ptr

一、前序 什么是智能指针? ——是一个类,用来存储指针(指向动态分配对象也就是堆中对象的的指针)。 c++的内存管理是让很多人头疼的事,当我们写一个new语句时,一般就会立即把delete语句直接也写了,但是我们不能避免程序还未执行到delete时就跳转了或者在函数中没有执行到最后 ...

Tue May 28 17:57:00 CST 2019 0 1605
C++智能指针 auto_ptrshared_ptr、weak_ptrunique_ptr

  手写代码是理解C++的最好办法,以几个例子说明C++四个智能指针的用法,转载请注明出处。 一、auto_ptr   auto_ptr这是C++98标准下的智能指针,现在常常已经被C++标准的其他智能指针取代。它的缺点是在转移所有权后会使运行期不安全。C++11新标准,用unique_ptr ...

Sat Dec 08 01:14:00 CST 2018 0 1984
c++11 智能指针 unique_ptrshared_ptr与weak_ptr

c++11 智能指针 unique_ptrshared_ptr与weak_ptr C++11中有unique_ptrshared_ptr与weak_ptr等智能指针(smart pointer),定义在<memory>中。 可以对动态资源进行管理,保证任何情况下,已构造 ...

Mon Nov 06 01:57:00 CST 2017 0 17970
聊聊智能指针 auto_ptrshared_ptr、weak_ptrunique_ptr

本文为转载:https://www.cnblogs.com/zeppelin5/p/10083597.html,对作者有些地方做了修正。 手写代码是理解C++的最好办法,以几个例子说明C++四个智能指针的用法,转载请注明出处。 一、auto_ptr   auto_ptr这是C++98标准下 ...

Sat Jul 13 19:20:00 CST 2019 0 436
C++11 新特性之智能指针(shared_ptr, unique_ptr, weak_ptr)

这是C++11新特性介绍的第五部分,涉及到智能指针的相关内容(shared_ptr, unique_ptr, weak_ptr)。 shared_ptr shared_ptr 基本用法 shared_ptr采用引用计数的方式管理所指向的对象。当有一个新的shared_ptr ...

Sat Nov 09 01:15:00 CST 2019 0 589
c++ shared_ptr

shared_ptr是通过指针保持对象共享所有权的智能指针。多个shared_ptr对象可占有同一资源,当最后一个shared_ptr对象被销毁或者通过operator=,reset()操作赋予另一指针时,其管理的资源才会被回收。 管理同一资源的不同shared_ptr对象能在不同线程中 ...

Sun Oct 27 06:26:00 CST 2019 0 287
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM