unique_ptr是独占型的智能指针,它不允许其他的智能指针共享其内部的指针,不允许通过赋值将一个unique_ptr赋值给另一个unique_ptr,如下面错误用法: 但是unique_ptr允许通过函数返回给其他的unique_ptr,还可以通过std::move来转移到其他的unique_p ...
分类:
其他好文 时间:
2016-12-03 18:20:18
阅读次数:
143
c++11标准废除乐auto_ptr, C++ 标准库智能指针 使用这些智能指针作为将指针封装为纯旧 C++ 对象 (POCO) 的首选项。 unique_ptr 只允许基础指针的一个所有者。 除非你确信需要 shared_ptr,否则请将该指针用作 POCO 的默认选项。 可以移到新所有者,但不会 ...
分类:
其他好文 时间:
2016-10-20 22:05:55
阅读次数:
215
C++智能指针 unique_ptr unique_ptr 独占所指向的对象, 同一时刻只能有一个 unique_ptr 指向给定对象(通过禁止拷贝语义, 只有移动语义来实现), 定义于 memory (非memory.h)中, 命名空间为 std. 标准库早期版本中定义了 auto_ptr, 它具 ...
分类:
编程语言 时间:
2016-10-04 14:12:36
阅读次数:
682
C++11目前已经引入了unique_ptr, shared_ptr, weak_ptr等智能指针以及相关的模板类enable_shared_from_this等。被广泛使用的是shared_ptr,...
分类:
编程语言 时间:
2016-09-06 17:00:25
阅读次数:
269
在单位写代码没法用c++11,为了方便写代码,今天趁着空闲时间写了个unique_ptr的简单实现 测试代码 [NEWOBJ][Obj] this =00000000002C7D20 nMyMem= 100 [DELOBJ][~Obj] this =00000000002C7D20 ...
分类:
编程语言 时间:
2016-08-25 21:06:23
阅读次数:
178
1. shared_ptr 解析: shared_ptr是一种计数指针,当引用计数变为0时,shared_ptr所指向的对象将会被删除。举个例子,如下所示: 2. unique_ptr 解析: unique_ptr是定义在<memory>中的智能指针(smart pointer)。它持有对对象的独有 ...
分类:
编程语言 时间:
2016-07-07 19:55:42
阅读次数:
186
unique_ptr 不共享它的指针。它无法复制到其他 unique_ptr,无法通过值传递到函数,也无法用于需要副本的任何标准模板库 (STL) 算法。只能移动unique_ptr。这意味着,内存资源所有权将转移到另一 unique_ptr,并且原始 unique_ptr 不再拥有此资源。我们建议 ...
分类:
编程语言 时间:
2016-06-29 21:59:23
阅读次数:
384
C++11目前已经引入了unique_ptr, shared_ptr, weak_ptr等智能指针以及相关的模板类enable_shared_from_this等。智能指针作为一种类对象,它具有C++中一般指针(build-in/raw)的特性,同时它可以管理用户用new创建的对象。一般的智能指针都定义为一个模板类,它的类型由被管理的对象类型指定,内部包含了一个指向该对象的裸指针。
一句...
分类:
编程语言 时间:
2016-05-30 15:08:21
阅读次数:
295
注意:现在boot库已经归入STL库,用法基本上还和boost类似
在C++11中,引入了智能指针。主要有:unique_ptr, shared_ptr, weak_ptr。
这3种指针组件就是采用了boost里的智能指针方案。很多有用过boost智能指针的朋友,很容易地就能发现它们之间的关间:
std
boost
功能说明
uniq...
分类:
编程语言 时间:
2016-02-19 14:28:33
阅读次数:
2677
class Node; using NodePtr = std::unique_ptr<Node>; class Node { public: int value; NodePtr next = nullptr; explicit Node(int value_ = 0): value(value_
分类:
其他好文 时间:
2016-02-13 15:46:17
阅读次数:
164