码迷,mamicode.com
首页 >  
搜索关键字:allocator    ( 226个结果
标准库Allocator的简易实现(二)
自己实现Allocator并不难,其实只需要改变allocate和deallocate,来实现自己的内存分配策略。 下面是一个std::allocator的模拟实现 #ifndef ALLOCATOR_HPP #define ALLOCATOR_HPP #include #include templ...
分类:其他好文   时间:2014-10-02 20:34:33    阅读次数:264
标准库Allocator的使用(一)
上一篇我们提到了new运算符以及它的工作步骤,其实无非是把两项工作独立出来: 1.申请原始内存 2.执行构造函数 delete也涉及了两个工作: 1.执行析构函数 2.释放原始内存 其实标准库提供了另外一种更加高级的手段实现内存的分配和构造,就是std::allocator的职责。 allocato...
分类:其他好文   时间:2014-10-02 18:50:23    阅读次数:195
C++中vector的实现
注意几点: 分配内存不要使用new和delete,因为new的同时就把对象构造了,而我们需要的是原始内存。 所以应该使用标准库提供的allocator类来实现内存的控制。当然也可以重载operator new操作符,因为二者都是使用malloc作为底层实现,所以直接采用malloc也可以。 对象的复制必须使用系统提供的uninitialized_fill和uninitialized_...
分类:编程语言   时间:2014-10-02 18:37:43    阅读次数:231
Vector的一种实现
注意几点: 分配内存不要使用new和delete,因为new的同时就把对象构造了,而我们需要的是原始内存。 所以应该使用标准库提供的allocator类来实现内存的控制。当然也可以重载operator new操作符,因为二者都是使用malloc作为底层实现,所以直接采用malloc也可以。 对象的复...
分类:其他好文   时间:2014-09-29 00:11:26    阅读次数:303
关于allocator的一些基础用法以及简易的vector实现
首先,关于allocator戳旁边→维基百科-分配器(C++)这次我只用了其中的一部分API,来实现一个简易的vector容器,这个简易版vector实现了插入、删除、查找等简易功能,由于对右值的理解不足,所以这次并未实现关于右值的API。【MSDN-class allocator_base API...
分类:其他好文   时间:2014-09-24 00:27:55    阅读次数:284
重温《STL源码剖析》笔记 第二章
第二章:空间配置器 allocator SGI特殊的空间配置器,std::alloc SGI是以malloc()和free()完成内存的配置与释放。 SGI设计了双层级配置器: 第一级配置器直接使用malloc()和free(); _malloc_alloc_template ...
分类:其他好文   时间:2014-09-02 22:40:25    阅读次数:237
STL源码学习--vector使用方法总结
一、容器vector 使用vector必须包含头文件: #include 型别vector是一个定义于namespace std内的template: [cpp] view plaincopyprint? templateclass _Ty,      class _Ax = allocator >   第二个参数定义内存模型。我们一般采用默认的内存模型。 ...
分类:其他好文   时间:2014-08-31 10:32:21    阅读次数:239
STL源码分析--空间配置器 第一级配置器
一、SGI STL配置器简介 SGI STL的配置器与众不同,它与标准规范不同。如果要在程序中明确使用SGI配置器,那么应该这样写: [cpp] view plaincopyprint? vectorint,std::alloc> iv;   他的名字是alloc,而且不接受任何参数。标准配置器的名字是allocator,而且可以接受参数。 SGI S...
分类:其他好文   时间:2014-08-26 11:49:26    阅读次数:243
自定义String类,并且实现在STL容器中添加自定义的类型
13.44 编写标准库string类的简化版本,命名String。你的类应该至少有一个默认构造函数和一个接受C风格字符串指针参数的构造函数。使用allocator为你的String类分配所需内存。13.47 添加拷贝构造函数和拷贝赋值运算符,并添加打印语句,则每次函数执行时打印一条信息。13.48 ...
分类:其他好文   时间:2014-08-24 16:41:22    阅读次数:276
allocator例子
13.39 编写自己的StrVec,包括自己版本的reserve、capacity和resize。13.40 为StrVec添加一个构造函数,它接受一个initializer_list参数StrVec.h#ifndef STRVEC_H#define STRVEC_H#include#include...
分类:其他好文   时间:2014-08-24 12:49:42    阅读次数:163
226条   上一页 1 ... 19 20 21 22 23 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!