
C++中的static关键字大揭秘
静态全局变量 特性 1. 存放空间:存放在全局数据区 从声明时开始初始化main函数结束销毁 2. 初始化:如果没有初始化则会被默认初始化为0 在首次用到时进行初始化 3. 作用域:作用域为整个源文件, 4. 区别:和全局变量的区别是 静态...
静态全局变量 特性 1. 存放空间:存放在全局数据区 从声明时开始初始化main函数结束销毁 2. 初始化:如果没有初始化则会被默认初始化为0 在首次用到时进行初始化 3. 作用域:作用域为整个源文件, 4. 区别:和全局变量的区别是 静态...
1.vector的内存增长 vector其中一个特点:内存空间只会增长,不会减小,援引C++ Primer:为了支持快速的随机访问,vector容器的元素以连续方式存放,每一个元素都紧挨着前一个元素存储。设想一下,当vector添加一个元素...
本文将介绍 C++ 里面的 基本类型(引用 指针 结构体) 类型转换(static_cast、dynamic_cast、const_cast、reinterpret_cast), 类型处理(typedef auto...
0.概述 什么是deque呢? 一句话来概括 ,deque是一种 双向开口的”连续”线性空间存储数据的数据结构(注意这里的连续打了双引号,后面会解释) 咱们来对比一下deque和vector的一些区别 优点...
list是什么? list本质上就是双向链表 相对与上一篇所讲的vector,我们知道双向链表有它自己的优点,首先空间利用比较灵活,所以省空间. 而且插入删除元素都是常数时间 下面将参照list的源码,将其分为下面...
Table of Contents 0.引入 1.标准的空间配置器allocator 2.更为高效的空间配置器alloc 2.1—-对象的构造与析构 2.1.1 对象的构造:::construct(); 2.1.2对象的析构::...
1.extern 1)extern修饰变量的声明 如果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int v,然后就可以引用变量v。 2)extern修饰函数的声明 如果文件a.c需要引用b.c中的函数,...
介绍traits的文章很多,但感觉大部分文章的说明都很晦涩难懂,把一个并不很复杂的C++模板的应用描述的过于复杂。忍不住想把自己的理解跟大家分享一下,或许我也只是掌握了一点traits的皮毛而已,但也希望这些皮毛能略微抓住你的眼球,带给你一...
最近在看侯捷的《STL源码剖析》,看到第三章有关 traits 的介绍,被搞得一头雾水,看了半天不知所云。为了彻底了解这个技法的原理,硬着头皮上网查了资料,并结合 Scott Meyers 的 《Effective C++》,总算是把 tr...
1.原理讲解 HashTable就是散列表((哈希表),将从下面几个方面来讲解散列表的原理 1.1散列表的概述 在说散列表之前,我们先说一下散列技术. 什么叫散列技术呢?一句话来说,散列技术是一种查找技术,而且是一种”...