STL之Vector实现原理

Vector的基本知识

        在C++中,我们使用信息隐藏技术和封装技术把数据隐藏在类内部不许外部直接操作,同时提供访问器(如get_xxx成员函数)和修改器(如set_xxx成员函数)。STL容器的设计原理如出一辙,只是它们在实现时考虑的问题更多,更加复杂而已。容器不仅把元素对象隐藏起来了,而且把元素对象的内存申请和释放操作也全部隐藏起来了(通过存储分配器),这就使程序员彻底摆脱了直接操纵底层内存指针的麻烦,也避免了危险。经过严格测试的容器几乎不可能存在动态内存管理上的问题,因此可以放心使用。

      下图是vector<T>的内存映像,来展示C++中STL是如何实现容器的


两个关键大小:

大小:size=_last - _first;

容量:capacity=_end - _first;

它们分别对应resize()、reserver()两个函数。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值