码迷,mamicode.com
首页 >  
搜索关键字:buddy allocator    ( 282个结果
标准库Allocator(三)uninitialized_fill等函数的实现
前面我们使用了uninitialized_fill,来批量初始化某一段内存。 下面提供三个函数的实现代码,这三个代码的共同点是: 1.遇到错误,抛出异常 2.出现异常时,把之前构造的对象全部销毁 所以,这三个函数要么成功,要么无任何副作用。使用异常来通知使用者,所以在catch块中,处理完异常后要将...
分类:其他好文   时间:2014-10-03 02:33:33    阅读次数:324
标准库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
linux_kali google浏览器乱码以及不能以root身份打开解决办法
1、百度找到的解决办法。写在这里方便下次使用。 export LD_LIBRARY_PATH export LC_CTYPE="zh_CN.UTF-8" ? ? #这是解决google浏览器乱码问题 export CHROME_VERSION_EXTRA="stable" # We don‘t want bug-buddy...
分类:系统相关   时间:2014-09-07 02:15:04    阅读次数:391
重温《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
282条   上一页 1 ... 24 25 26 27 28 29 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!