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
1、array array相当于是一个增加了STL容器接口的数组,但它不像vector等容器一样可以动态增长,如果需要动态变动array的容量可以使用boost::scoped_array。array适用与对运行速度要求很高的场合。C++11中已支持array。 eg: 2、unordered_ma ...
分类:
其他好文 时间:
2017-08-24 10:16:14
阅读次数:
154
1.auto_ptr 和 scoped_ptr 的异同 a 和 s 都是通过析构函数去 delete T* 实现自动释放内存。a 可以转移所有权,但是 s 不可以 2. scoped_array sa 管理 new [] 分配的内存,析构时使用delete [] 因为 sa 不能动态增长,没有ite ...
分类:
其他好文 时间:
2017-03-15 18:52:01
阅读次数:
155
多个元素使用#include <boost/scoped_array.hpp> 单个元素使用#include <boost/scoped_ptr.hpp> 作用域数组 作用域数组的使用方式与作用域指针相似。关键不同在于,作用域数组的析构函数使用delete[]操作符来来释放所包含的对象。因为该操作符 ...
分类:
其他好文 时间:
2016-08-13 19:38:10
阅读次数:
190
多个元素使用#include <boost/scoped_array.hpp> 单个元素使用#include <boost/scoped_ptr.hpp> 作用域指针 它独占一个动态分配的对象,对应的类名为boost::scoped_ptr,定义在boost/scoped_ptr.hpp中。不像st ...
分类:
其他好文 时间:
2016-08-13 19:26:33
阅读次数:
419
我们知道c++标准库中定义了智能指针auto_ptr,但是我们很少用它,因为虽然它能够自动回收动态开辟的内存,不需要程序员自己去维护动态开辟的内存,但是当用它去赋值或者是拷贝构造时有一个管理权转移的过程,这样我们就不能很方便的使用auto_ptr。下面是简单的auto_ptr的实现,..
分类:
编程语言 时间:
2016-03-30 18:04:49
阅读次数:
245
//模拟实现boost库下的scoped_array
#include
#include
using namespace std;
template
class scoped_array
{
private:
T * px;
scoped_array(scoped_array const &);
scoped_array& operator=(scoped_array const...
分类:
编程语言 时间:
2015-07-17 16:16:08
阅读次数:
118
智能指针是一种具备指针类似行为的对象,当不在需要它的时候自动删除其引用的c++对象。直接点说就是自动析构C++对象。boost提供了6种智能指针,如下所示:scoped_ptr单个对象的简单的唯一所有权. 不能拷贝.scoped_array数组对象的唯一所有权. 不能拷贝.shared_ptr多个指...
分类:
其他好文 时间:
2015-02-27 14:58:45
阅读次数:
125
boost::scoped_ptr和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。下列代码演示了该指针的基本应用:#include #include #include class implementation{public: ~impleme...
分类:
其他好文 时间:
2015-02-27 13:21:50
阅读次数:
181
boost.smart_ptr库提供了六种智能指针:scoped_ptr、scoped_array、shared_ptr、shared_array、week_ptr和intrusive_ptr。
说到智能指针,我们会想到c++98标准中的自动指针auto_ptr.auto_ptr获取指针所有权后,离开作用域时自动释放该指针指向的堆内存。也可以转移指针的所有权。
auto_ptr ap_a1(new...
分类:
其他好文 时间:
2015-01-30 21:08:29
阅读次数:
364