一、容器vector
使用vector必须包含头文件:
#include
型别vector是一个定义于namespace std内的template:
[cpp]
view plaincopyprint?
templateclass _Ty, class _Ax = allocator >
第二个参数定义内存模型。我们一般采用默认的内存模型。
...
分类:
其他好文 时间:
2014-08-31 10:32:21
阅读次数:
239
一、SGI STL配置器简介
SGI STL的配置器与众不同,它与标准规范不同。如果要在程序中明确使用SGI配置器,那么应该这样写:
[cpp]
view plaincopyprint?
vectorint,std::alloc> iv;
他的名字是alloc,而且不接受任何参数。标准配置器的名字是allocator,而且可以接受参数。
SGI S...
分类:
其他好文 时间:
2014-08-26 11:49:26
阅读次数:
243
13.44 编写标准库string类的简化版本,命名String。你的类应该至少有一个默认构造函数和一个接受C风格字符串指针参数的构造函数。使用allocator为你的String类分配所需内存。13.47 添加拷贝构造函数和拷贝赋值运算符,并添加打印语句,则每次函数执行时打印一条信息。13.48 ...
分类:
其他好文 时间:
2014-08-24 16:41:22
阅读次数:
276
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
本文上接《用AGG实现高质量图形输出(一)》,分别介绍了AGG显示流程中的各个环节。上次讲了AGG的显示原理并举了一个简单的例子,这一篇文章开始讲AGG工作流程里的每个环节。为了方便对照,再放一次AGG显示流程 图另外,上一篇文章里的例程也很重要,后面的例子都将基于这个代码。下面,我们来考察AGG显...
分类:
其他好文 时间:
2014-08-14 10:25:38
阅读次数:
505
C++为我们提供了安全的内存空间申请方式与释放方式,但是new与delete表达式却是把空间的分配回收与对象的构建销毁紧紧的关联在一起。实际上,作为与C语言兼容的语言,C++也为我们提供了更加底层的内存操作方式的。
谈C++就离不开STL,考虑一下vector
template class T>
void Vector::push_back(const T& t)
{
// are w...
分类:
编程语言 时间:
2014-08-09 00:14:07
阅读次数:
409
上篇简单介绍了gcc4.8提供的几种allocator的实现方法和作用,这是所有stl组件的基础,容器必须通过allocator申请分配内存和释放内存,至于底层是直接分配释放内存还是使用内存池等方法就不是组件需要考虑的事情。这篇文章开始分析gcc4.8 stl的容器源码实现。stl的容器分为序列式容...
分类:
其他好文 时间:
2014-08-03 17:33:55
阅读次数:
270
heap block 引发的思考
问题背景:
Implicit Free Lists
Any practical allocator needs some data structure that allows it to distinguish block boundaries and to distinguish between allo...
分类:
其他好文 时间:
2014-07-27 23:38:29
阅读次数:
452
allocator封装了stl标准程序库的内存管理系统,标准库的string,容器,算法和部分iostream都是通过allocator分配和释放内存的。标准库的组件有一个参数指定使用的allocator类,比如vector的原型是:template >class vector : protecte...
分类:
其他好文 时间:
2014-07-25 02:31:04
阅读次数:
201
动态数组
C++语言定义了另外一种new表达式语法,可以分配并初始化一个对象数组。标准库中包含
一个名为allocator的类,允许我们将分配和初始化分离。
12.2.1 new和数组
void fun1()
{
int *pia=new int[2]; //pia指向第一个int
//方括号中的大小必须是整型,但不必是常量
typedef int arrT[42...
分类:
编程语言 时间:
2014-07-10 19:39:17
阅读次数:
336