![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
C++学习笔记
luke_cc
2年工作经验,撸过docker,k8s等云原生相关项目的源代码。
展开
-
[leetcode-763] Partition Labels
Description A string S of lowercase English letters is given. We want to partition this string into as many parts as possible so that each letter appears in at most one part, and return a list of integers representing the size of these parts. Solution Sel原创 2020-09-12 16:33:31 · 141 阅读 · 0 评论 -
如何判断一个结构体的实际占用空间
背景 cpu读取内存是以2的整数次幂为单位读取(一次读取一块内存,如一次读入4个字节),如果不进行对齐,那么本来只需要一次进行的访问,可能需要好几次才能完成,并且还要进行额外的merger或者数据分离。 方法 先确定实际对齐单位,其由以下三个因素决定 结构体最大成员(基本数据类型变量) 预编译指令#pragma pack(n)手动设置 n–只能填1、2、4、8、16 CPU...原创 2020-04-23 20:38:11 · 333 阅读 · 0 评论 -
C++中的声明与定义
综述 在c++中声明与定义是如此相似却又不尽相同。以至于在很多地方会把声明与定义混淆。有关声明与定义的讨论总是离不开翻译单元,每个翻译单元都可有编译器独立编译,因而翻译单元必定包含了它所需要用到的所有变量和函数描述符。对翻译单元而言,若描述符有完整的实现,则称其为定义了该描述符,否则称之为声明了该描述符。 异同 在程序中,声明可以发生多次但定义只能有一次。 编译器不会为声明分配内存(确定内存大小...原创 2020-04-06 11:18:11 · 196 阅读 · 0 评论 -
C++虚函数表的使用
虚函数表的意义 虚函数表是用于实现动态绑定的一种机制。 动态绑定 动态绑定用于确定该调用的函数,用于支持多态,如: #include <iostream> class B { public: virtual void bar(); virtual void qux(); }; void B::bar() { std::cout << "This is B's...原创 2020-03-31 23:55:21 · 106 阅读 · 0 评论