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