自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 C++的内存对齐

之所以要这么对齐,可以举个例子来理解,假如CPU每次只能从4的倍数的起始地址访问,一次只能访问4字节,那么像short和int这么对齐,能够保证CPU要访问这个数据只需要一次读取就能完成。如果int的起始地址不是4的倍数,CPU访问一次内存只能取出int的一部分。CPU访问内存时,地址必须是特定值的倍数(比如4字节或8字节),如果没有内存对齐,4字节的int类型数据可能需要分成两次访问才能读取,影响性能。所谓的对齐,指的就是这个数据的起始地址是它的对齐值的倍数。结构体的对齐值是其成员中最大对齐值的倍数。

2025-09-05 14:46:58 221

原创 C++有符号数和无符号数逻辑运算以及整数提升

C++的有符号数和无符号数进行逻辑运算(例如比较)时,会把有符号数转成无符号数,所以实际打印了c < d。但是由于C++有一个操作叫整数提升,会把unsigned char和char都提升成int,所以变成了两个有符号数比较,因此a > b。

2025-08-28 10:41:11 132

原创 vector初始化

在写leetcode时需要创建一个vector<vector<char>>容器,我的写法非常冗余:实际上一行就能完成这个初始化过程:这样的构造方法其实我以前也经常用:但是没想到二维vector用这种构造方法是可以直接完成初始化的。

2025-08-28 10:35:43 216

原创 C++八股文

本博客记录本人遇到的C++八股问题,并根据自己的理解作出回答(由于是个人理解,所以答案不一定完全准确和全面,这么做的原因是我觉得有的问题的标准答案太过抽象且不好记忆QAQ,所以我会在理解后用自己的话来作答),有些不好理解的点会附上代码帮助理解。由于我写这篇博客时是默写的(相当于是对之前背的知识的复习),所以可能会漏掉一些东西,正文中标蓝的字表示是后来补充的。

2025-03-18 11:22:36 1411

原创 侯捷C++课程学习记录

本篇文章主要记录在学习侯捷的C++课程过程中遇到的此前没了解过的知识,并不涵盖所有知识点。guard(防御式声明)...#endif在写一个头文件的时候,可以用这样的防御式声明,作用是在引用这个头文件时,如果没有定义(ifndef)__COMPLEX__,那么定义(define)__COMPLEX__,然后进入到头文件里的内容,最后(endif)。如果程序第二次引用这个头文件,因为此前已经定义过__COMPLEX__,那么就不会进入到头文件里。

2024-11-12 19:35:17 1626

原创 LeetCode的数据结构

是一个哈希表,键值可重复,不会自动排序,使用方法和map相同。是一个哈希表,键不可重复,不会自动排序。使用方法与map相同。是一个红黑树,键不可重复,会自动排序。使用方法与map相同。是一个红黑树,键值可重复,自动按key由小到大排序。

2024-07-17 16:55:16 273 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除