google代码风格 1.使用安全的分配器(allocator),如scoped_ptr,scoped_array 2.测试用的,其他的不能用: 2.1 友元 2.2 C++异常 2.3 RTTI 3.类型转换,不要用(int) 3.1 static_cast 3.2 const_cast 3.3 ...
分类:
编程语言 时间:
2019-08-24 15:06:00
阅读次数:
105
shared_ptr是一个最像指针的“智能指针”,是boost.smart_ptr库中最有价值、最重要的组成部分,也是最有用的,Boost库的许多组件——甚至还包括其他一些领域的智能指针都使用了shared_ptr,所以它被毫无悬念地收入了C++11标准。 shared_ptr与scoped_ptr ...
分类:
其他好文 时间:
2019-08-20 21:50:45
阅读次数:
86
1. boost::scoped_ptr is a smart pointer that is the sole owner of a dynamically allocated object and cannot be copied or moved. A smart pointer of typ ...
分类:
其他好文 时间:
2019-05-29 17:52:27
阅读次数:
107
C++智能指针,指针容器原理及简单实现(auto_ptr,scoped_ptr,ptr_vector). [TOC] 前言 最近再写一个muduo的异步日志接触了很多智能指针,但是又不打算用boost库,只好模一个来用用了. 智能指针本身是一个对象,它在栈上创建,构造的时候分配堆上资源,析构的时候释 ...
分类:
编程语言 时间:
2018-08-09 22:00:49
阅读次数:
224
部分参考地址https://blog.csdn.net/yanglingwell/article/details/56011576 auto_ptr是c++标准库里的智能指针,但是具有以下几个明显的缺陷,使用时要注意 1.就是所谓的控制权转移,下面是模拟代码 在赋值运算符重载和拷贝构造函数中将资源转 ...
分类:
其他好文 时间:
2018-06-09 13:28:29
阅读次数:
218
从零开始写STL 智能指针 智能指针的分类及其特点: scoped_ptr:初始化获得资源控制权,在作用域结束释放资源 shared_ptr: 引用计数来控制共享资源,最后一个资源的引用被释放的时候会析构 unique_ptr: 只能有一个持有资源引用的对象 weak_ptr:eak_ptr也维护了 ...
分类:
其他好文 时间:
2018-03-29 19:11:57
阅读次数:
171
只允许基础指针的一个所有者。 可以移到新所有者(具有移动语义),但不会复制或共享(即我们无法得到指向同一个对象的两个unique_ptr)。 替换已弃用的 auto_ptr。 相较于 boost::scoped_ptr。 unique_ptr 小巧高效;大小等同于一个指针,支持 rvalue 引用, ...
分类:
其他好文 时间:
2018-02-25 14:42:25
阅读次数:
232
智能指针的设计初衷是: C++中没有提供自己主动回收内存的机制,每次new对象之后都须要手动delete。稍不注意就memory leak。 智能指针能够解决上面遇到的问题。 C++中常见的智能指针包含(共七种): std::auto_ptr boost::scoped_ptr boost::sha ...
分类:
编程语言 时间:
2018-01-15 12:32:12
阅读次数:
186
scoped_ptr的所有权更加严格,不允许转让,对其赋值和拷贝都是不合法行为,因而显得更轻巧和快捷。 scoped_ptr重载了operator*()和operator->()解引用操作符*和箭头操作符->,因此可以把scoped_ptr对象如同指针一样使用。如果scoped_ptr保存的空指针, ...
分类:
其他好文 时间:
2017-06-27 18:42:05
阅读次数:
133
#pragma once #include <boost/noncopyable.hpp> #include <boost/scoped_ptr.hpp> #include <boost/ptr_container/ptr_vector.hpp> #include <boost/thread.hpp ...