- 博客(65)
- 收藏
- 关注
原创 【C++】简单学——list类
匿名对象有名对象多参数构造的隐式类型转换C++11特有的:{}多参数的构造函数也支持隐式类型转换了,用花括号(这个地方不是initailizer_list类型)但是这样子没办法遍历这里是说<<不支持A类型使用因为我们的A类型里面没有写但如果对方不想写operator<<怎么解决如果对方是公有的,我们就自己拿但是这个地方怎么看怎么别扭,因为我们的迭代器的目标是模拟当前类型的指针,既然是指针,肯定就应该能像下面这样直接用箭头访问所以我们还可以重载一个operator->
2025-07-24 16:59:45
827
原创 力扣118.杨辉三角
开空间的手段:new、构造函数、reserve、resize因为我们之后要修改里面的数据,这就意味着我们需要去读取这个数据并修改,如果用reserve的话,我们就仅仅是把空间给开出来了,但是里面是没办法访问的,因为我们此时的size为0,相当于此时的数组只有0个数据,我们就不能修改 arr[ 1 ] 等值;所以我们需要能够读取当我们用resize的时候,相当于我们做了int arr[ 10 ];此时里面的是个元素虽然是随机值,但是起码是可以修改了resize:开n个空间,可以放初始值。
2025-07-17 15:47:55
430
原创 string的实现
这个地方reserve要多开一个空间来放'\0',因为要留个位置放'\0' ,resize这里就是手动放置成'\0',如果说没有多申请一个空间的话,就是申请了20个空间但是使用了第21个位置的值,申请了多少的内存,只能用多少,用多了就有问题的。尽管你是const对象,但是const修饰的仅仅是成员变量,成员变量指向的内容是没有被const修饰的,修饰的只有成员变量本身,所以如果返回非引用值回去,别人是可以通过在外面对这个引用指向的内容进行修改的,因为指向的内容没有被const修饰。缺省参数要放在最后面。
2025-07-09 11:23:13
277
原创 【C++】简单学——内存管理
内存分区提升效率。new/delete 核心优势:自动调用自定义类型构造/析构,简化生命周期管理,告别C语言手动繁琐操作。警惕内存泄漏!
2025-06-28 21:15:30
659
原创 【C++】简单学——类和对象(上)
摘要:类和对象的关系中,类作为模板(如"手机设计图"),而对象则是具体实例(如"iPhone手机")。C++中类定义包含成员变量和方法,使用访问限定符(public/protected/private)控制访问权限。类实例化为对象时,对象大小遵循内存对齐规则,方法不占用对象空间。空类对象占1字节作为存在标识。struct和class的主要区别在于默认访问权限不同(struct为public,class为private)。(149字)
2025-06-25 19:48:31
990
原创 【C++】简单学——auto
auto关键字让编译器自动推导变量类型,简化代码。主要适用于迭代器、范围for循环等场景,能有效减少冗长的类型声明。但使用时需注意:必须初始化变量,避免推导出错误类型(如vector<bool>的特殊情况),重要类型不宜滥用auto。此外,数组作为函数参数时无法使用范围for循环,因为参数会退化为指针。正确使用auto可以提高代码可读性,但需警惕潜在的类型推导问题。
2025-06-25 11:19:21
282
原创 【C++】简单学——内联函数
摘要:针对高频调用函数反复创建栈帧的开销问题,C语言使用宏但存在调试和类型安全问题,C++采用内联函数(inline)。内联函数通过在调用点展开代码避免栈帧开销,但不适用于大函数(会导致代码膨胀)。inline仅对编译器是建议而非强制,编译器自行决定是否展开。与static不同,inline解决函数重定义问题:成功内联时不生成符号,失败时转为弱符号合并;而static直接限制函数作用域至当前文件。两者均能避免链接时的重定义错误。
2025-06-25 11:06:51
295
原创 【C++】简单学——引用
摘要:引用是变量的别名,使用前需初始化且不能修改指向。引用可用于函数参数和返回值,但不能完全替代指针(如链表尾指针场景)。返回值若引用函数内的局部变量会导致野引用问题。引用相比指针更易理解,但语法和底层实现不同。关键区别在于引用不可变向且更安全,指针则更灵活但风险更高。
2025-06-23 19:29:02
255
原创 【深度剖析】(编译和链接)可执行程序是如何诞生的
梳理了平时写的代码是怎样一步步地变成可执行程序并运行的通过了解代码的一生,理解面对多文件的代码(跨文件的代码)时,编译器是怎么处理的更好地理解:什么是编译错误,什么是链接错误
2024-05-16 11:34:50
1225
3
原创 【C语言】简单学——预处理详解(#define和预定义符号)
免费的学习笔记,计算机小白在这一块应该很少人还记得,建议看看这篇博客回顾一下,可以帮你补全这方面的知识和梳理知识脉络讲解#define 和预定义符号,讲解#define的替换规则,还有预处理操作符#和##的介绍,以及一旦使用了宏参数,又能产生什么恐怖的副作用,还有对比宏和函数的优劣详细全面地讲解预处理期间会做什么事,以及相关的知识
2024-05-15 21:02:56
671
原创 【C++】简单学——命名空间
(如果你还不知道怎样在局部变量和全局变量同名时访问全局变量,这篇文章会非常推荐你来看看)超详细说明命名空间的由来、概念、使用方法、使用建议,以及实际的应用场景
2024-05-13 15:00:02
1209
2
原创 【Linux】简单学——cd指令
03. cd 指令Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。语法:cd 目录名功能:改变工作目录。将当前工作目录改变到指定的目录下。举例:cd .. : 返回上级目录cd /home/litao/linux/ : 绝对路径cd ../day02/ : 相对路径cd ~:进入用户家目cd -:返回最近访问目录一般情况下,我们用到的路径位置也就是两个目录之间来回切换,所以cd - 可以方便我们进行目录的切换。
2024-05-09 19:44:25
544
原创 【Linux】简单学——操作系统的概念
(linux是一款开源的操作系统)详细、生动地讲解什么是操作系统,以及为什么要有操作系统和没有操作系统的后果
2024-05-08 20:53:28
316
原创 【C++】简单学——迭代器
1、在 C++ 中,使用 < 来判断迭代器是否达到容器的末尾通常是不可取的,因为这样无法确定迭代器的具体位置是否达到了末尾。begin() 返回的是指向容器第一个元素的迭代器,而不是一个指针, begin() 进行递增操作,并不会使它指向容器中的下一个元素,而是仍然指向容器的第一个元素。使用 it(或者其他合适的变量名)来接收 begin() 的返回值是为了能够在循环中逐步移动并访问容器中的每个元素。2、用一个变量来接收你的迭代器的值,然后就可以把他当成类似于指针的东西进行使用了。1、判断条件使用了
2024-04-17 10:55:32
190
原创 选择排序(改良版)
每个排序方法的速度都有各异,其中,选择排序算是最慢的排序了,对此,有没有什么方法可以提高选择排序的速度呢?这篇文章将向你讲解选择排序的改良方案以上就是今天要讲的内容,本篇文章着重讲解了选择排序(改良版)的原理和思路,在学习的过程中还会有许多的知识与你分享,今后将会持续更新,敬请关注!
2023-11-12 20:40:38
138
原创 希尔排序(循序渐进版)
每个排序方法的速度都有各异,其中,希尔排序算是顶流,速度相当的快,但也相对难理解点,这篇文章将向你讲解希尔排序以上就是今天要讲的内容,本篇文章着重讲解了希尔排序的原理和思路,在学习的路上还会有很多知识的分享,今后将会持续更新,敬请关注!
2023-11-12 16:59:48
187
原创 直接插入排序
每个排序方法的速度都有各异,其中,插入排序虽然不算是顶流,但却是希尔排序的前身,而希尔排序速度相当的快,但也相对难理解点,为了更好学习希尔排序,这篇文章将向你讲解它的前身——插入排序以上就是今天要讲的内容,本篇文章着重讲解了 直接插入排序 原理和思路,在力扣以及牛客网中还会有很多类似的题目,今后将会持续更新,敬请关注!
2023-11-11 08:39:54
82
原创 力扣 110.平衡二叉树
以上就是今天要讲的内容,本文简单介绍了 力扣 110.平衡二叉树 的解题思路,在力扣以及牛客网中还会有很多类似的题目,今后将会持续更新,敬请关注!
2023-11-10 09:05:52
133
原创 力扣 101.翻转二叉树
以上就是今天要讲的内容,本文简单介绍了 力扣 101.翻转二叉树 的解题思路,在力扣以及牛客网中还会有很多类似的题目,今后将会持续更新,敬请关注!
2023-11-10 08:01:09
81
原创 牛客网_NC198.判断是不是完全二叉树
以上就是今天要讲的内容,本文简单介绍了 牛客网_NC198.判断是不是完全二叉树 的解题思路,在力扣以及牛客网中还会有很多类似的题目,今后将会持续更新,敬请关注!
2023-11-09 11:40:23
101
原创 牛客网_KY11. 二叉树遍历
以上就是今天要讲的内容,本文简单介绍了 牛客网_KY11. 二叉树遍历 的解题思路,在力扣以及牛客网中还会有很多类似的题目,今后将会持续更新,敬请关注!
2023-11-09 09:21:55
108
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人