- 博客(30)
- 收藏
- 关注
原创 带你领悟菱形继承与虚基表
菱形继承用 virtual 虚继承把顶层虚基类变成“唯一共享实例”,底层派生类只面对一块内存,消除歧义。底层对象通过中层类对象空间里的 vbptr 查全局“虚基表”获得偏移,算出共享基类地址再访问。
2025-09-20 23:05:27
699
原创 手把手系列:带你学模板
普通传参函数,可以说是“一个萝卜一个坑”,意思是实参(实际传入参数)和形参(函数体括号中声明的参数)的类型一致,而模板则可以使得 一个形参位置 能传入多种 类型的 实参。模板特化是 c++为 模板参数提供的一种针对不同场景的定制手段。
2025-09-19 10:59:34
290
原创 详解 new 和 delete
1. 在 调用 new 之后 ,new 内部会去调用 operator new ,库中operator new 再去调用 malloc 进而进行内存申请,但是 operator new 中还会 在申请内存后进行 检查,如果malloc 内存申请失败 则会进行抛异常。在对自定义类型(类,结构体等)进行内存申请时,malloc 同样只是申请对应 字节大小的空间,而 new 则会在申请后,去调用 自定义类型的 构造方法,对其进行初始化。malloc 需要 计算实际需要的 字节数,而 new 则不需要。
2025-09-14 22:35:53
416
原创 仿函数的分析与应用
通过对类中 重载 operator() 实现 类对象可以 像 函数一样去使用,本质上 是 通过类对象+括号运算符 去调用 operator() 的成员方法。
2025-09-11 22:56:02
171
原创 友元的功能解析
用friend 关键字在Tom 类中声明 了一个 OtherCheckMe 友元方法 ,之后在Tom类外对 OtherCheckMe 进行定义,便可以在 OtherCheckMe 中访问 Tom 类中的成员了。用friend关键字在Tom 类中声明 一个 友元类,意思是,Him类中可以自由访问Tom类中的成员。1. 可以让一个类外 函数 或 类对象 访问一个 类内私有 成员或方法。1.一个函数可以是多个类的友元(适用于同一个函数需要操作多个类 )
2025-09-10 18:02:20
216
原创 struct结构体内存对齐详解
1. 即在 计算 一个 结构体对象的 大小的时候 ,其内部成员 占用大小 比 原本类型所占用 的 空间要大 --- 会按照额外的 内存对齐 规则 多占用空间。2.现象:如下图:A 的 成员 一个字符型 (1字节) + 一个int整形(4字节), 按照预想应该是 5字节,但是实际结果却是 8 字节。
2025-09-07 21:14:54
480
原创 动态规划题目:单词拆分/三角形最小路径和 - leetcode
不容纳的价值总价值 = 当前容量(x)下 的 能 选取 (i-1)件商品下的最大值。容纳后的总价值 = 利用容纳后剩余容量的 最大价值 + 第 i 件商品的价值。如果不容纳 ( 容量不够 , 或者容纳后价值 < 不容纳的价值)子问题之间关联 : 如果当前第 i 件 商品能 容纳 ,则判断是否 容纳 ,如果可以容纳。子问题 : 在 x 个 物品中 选取 填满 容量为 y 的 容器 ,使其 价值最大。三角形中最小路径之和。
2024-07-17 21:01:59
387
1
原创 C语言中分支和循环语句
C语言是一种结构化程序设计语言,其主要结构分为:顺序结构 ,选择结构 ,循环结构。一 、顺序结构程序运行过程中 ,从头到尾一句接着一句的执行下来,直到执行完最后一句。二 、选择结构1. 分支语句:C语言中用来实现选择结构的语句,有:( if—else— )语句和 switch 语句两种。(接下来将依次介绍)2. ( if—else— )语句:其基本语法结构如图:if( 表达式 ){ 执行表达式 1 ;}else{ 执行表达式 2 ;}注:在C语言中 0 表
2022-01-15 18:21:31
566
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅