摘要:
array array本身内容较少,日常使用也不是很多,里面也没有很高深的技巧 1 array的基本架构 了解array的架构需要一个额外的语法知识: int a[100]; int [100]b; // error typedef int T[100]; T c; // success __arr 阅读全文
摘要:
vector vector的源码分为多个文件:vector、 vector的底层实现是在 中 1 vector的基本架构 vector的基本架构如下图所示: 2 vector内的成员变量 在vector本身中,有三个成员变量: 、`_M_finish _M_end_of_storage` _M_st 阅读全文
摘要:
List list位于头文件 中 list是 中的一种 1 List的基本架构 list的基本结构的UML关系图如下: 需要注意的是,向list中insert元素时,会构造一个真正的_List_node类型的_Node,将这个插入list当中;也就是说_List_node才是list中的真正元素 2 阅读全文
摘要:
vtale 内存布局分析 虚函数表指针与虚函数表布局 考虑如下的 class: 首先明确,sizeof(A)的输出是 16,因为:class A 中含有一个 int 是 4 字节,然后含有虚函数,所以必须含有一个指向 vtable 的 vptr,而 vptr 是 8 字节,8 + 4 = 12,对齐 阅读全文
摘要:
构造函数语义学——Copy Constructor 篇 本文主要介绍《深度探索 C++对象模型》之《构造函数语义学》中的 Copy Constructor 构造函数的调用时机 首先需要明确,构造函数何时会被调用呢?cppreference 中已经有了足够详细地说明: 凡在对象从同类型的另一对象(以直 阅读全文
摘要:
构造函数语义学——Default Constructor 篇 这一章原书主要分析了:编译器关于 的干涉,即在对象构造这个过程中,编译器到底在背后做了什么 这一章的重点在于 default constructor 和 copy constructor 的相关知识 Default Constructor 阅读全文