stl_vector.h】的更多相关文章

stl_vector.h // Filename: stl_vector.h // Comment By: 凝霜 // E-mail: mdl2009@vip.qq.com // Blog: http://blog.csdn.net/mdl13412 /* * * Copyright (c) 1994 * Hewlett-Packard Company * * Permission to use, copy, modify, distribute and sell this software *…
前言 vector 是最常用的 C++ 容器,其动态扩容的特性是普通数组不具备的,这大大增加了编程的灵活性.虽然平时用 vector 很多,也能基本理解其原理,但无法从深层次理解.直到研读了 vector 的源码,才能比较自信的说自己真正理解了 vector 的基本原理,正应了侯捷说的那句话:源码面前,了无密码.我会写两篇文章分别分析泛化 vector 和针对 bool 类型的特化 vector(即是 bit_vector,位向量容器).本文将分析泛化的 vector 的源码. vector概述…
本文为senlie原创.转载请保留此地址:http://blog.csdn.net/zhengsenlie vector ---------------------------------------------------------------------- 描写叙述: 1.迭代器 vector 维护的是一个连续线性空间.它的迭代器是普通指针. 能满足 RandomAccessIterator 全部必要条件:operator*, operator->,operator++,operator-…
本文为senlie原创.转载请保留此地址:http://blog.csdn.net/zhengsenlie hashtable --------------------------------------------------------------------------- 二叉搜索树具有对数平均时间的表现,它建立在输入数据有足够的随机性的如果 hashtable 有常数平均时间的表现,基于统计,不需依赖输入元素的随机性 hashtalbe 的简单实现: 所有元素都 16-bits 不带正负…
# // Comment By: 凝霜 # // E-mail: mdl2009@vip.qq.com # // Blog: http://blog.csdn.net/mdl13412 # # // 特别说明: SGI STL的allocator在我的编译环境下不使用内存池 # // 而其内存池不进行内存释放操作, 其释放时机为程序退出或者stack unwinding # // 由操作系统保证内存的回收 # # /* # * Copyright (c) 1996-1997 # * Silico…
stl_hashtable.h // Filename: stl_hashtable.h // Comment By: 凝霜 // E-mail: mdl2009@vip.qq.com // Blog: http://blog.csdn.net/mdl13412 //////////////////////////////////////////////////////////////////////////////// // 本实作的hashtable采用的是开链法, 其内存布局如下 ////…
今天敲代码的时候遇到 STL 的一个 bug,与 C++ 的类中的 const 成员变量有关.什么,明明提供了默认的构造函数和复制构造函数,竟然还要类提供赋值运算符重载.怎么会这样? 测试代码 Test.cpp 如下: #include <vector> #include <iostream> class Mass { private: const float x; public: explicit Mass(float x) :x(x) { std::cout<<&q…
 首先,当然哥不介意你鄙视我在网上找的资料研究! 白盒覆盖率是啥东东这个问题大家自己查百度啦!我也不太懂,就知道它不是个东西,就这样开始吧(MT一般是先摸四蹄呢还是先黑金币呢?这是个问题)! 首先:linux先Clear一下,然后呢再ls下.然后呢再找个CPP文件.其实生成覆盖率主要就一个参数的问题.因为g++那啥已经带了获取覆盖率的功能. 下面是执行获取覆盖率的一个流程:其中红色字体是敲入的重要命令. [lixiang@localhost cjj]$ clear[lixiang@localho…
阅读了SGI的源码后对STL很是膜拜,很高质量的源码,从中学到了很多.温故而知新!下文中所有STL如无特殊说明均指SGI版本实现. STL 内存配置器 STL对内存管理最核心部分我觉得是其将C++对象创建过程分解为构造.析构和内存分配.释放两类操作分离开来!摆脱了对频繁调用new或malloc函数想操作系统申请空间而造成的低效.其中析构操作时对具有non-trival.trival 析构函数的class区别对待也提高了效率.SGI 的两级配置器结构属于锦上添花. STL内存配置器有没有内存泄漏?…
G++ ,cygnus\cygwin-b20\include\g++\stl_vector.h 完整列表 /* * * Copyright (c) 1994 * Hewlett-Packard Company * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without fee, * p…