- 博客(16)
- 收藏
- 关注
原创 c++中的域、引用、函数重载和参数缺省
b相对于a来说就是一次浅拷贝,也就是a和b共享一块空间,修改了b,a也跟着一起修改了。需要注意的是,引用作为函数返回值时,若返回对象为临时变量,可能会访问到释放的内存上;原理:c++先根据函数名修饰规则修饰函数名,再用修饰好的函数名寻找函数地址。编译器不知道到底要调用第一个函数还是第二个函数,因为调用任何一个都是可行的。规则:返回值与函数名可以相同,参数需要不同(包括类型、个数、顺序)。若不给函数传参数,则会用缺省的值,相反则会用我们传的值。当然域是支持嵌套的,并且相同的域会自动合并。
2025-09-26 15:24:34
428
原创 c++内联函数(宏函数的优化)
在我们使用宏函数定义时,虽然节省了空间,但是可读性很差,有时候自己写起来出现的bug是很难发现的,所以内联函数很好的解决了这个问题。缺点:对于编译器而言只是建议使用,可能会使代码指令膨胀;声明和定义分离会出现链接错误,应该直接定义到.h文件中。其实就是在函数前面加上inline关键字,编译时会把函数实现的功能原封不动的拿到调用的地方运行(不建立栈帧)。想象一下,如果内联函数里面有很多行代码,那调用时把代码全部拿下来,代码指令会瞬间增加很多。
2025-09-26 15:23:53
137
原创 c++拷贝构造与运算符重载和赋值重载
特点:1.具有特殊名字的函数(operator+运算符)。2.参数和运算对象一样多,返回值根据具体类型来定。3.如果运算符重载函数是成员函数,则函数第一个参数为this指针。4.不能重载的运算符(5个):.*(访问成员函数的指针)、:: 、sizeof 、?5.至少有一个是类类型的,不能改变内置对象。注:对于功能的实现,我们应该是其复用性更高(用一个实现好的去实现新的)。以+为例:对于几个的运算符,在实现重载时需要注意一些事情:1.++、--
2025-09-16 18:46:29
438
原创 c++类的默认成员变量:构造函数和析构函数
6.自定义类型不会初始化,类中有自定义类型会去调用它本身的默认构造函数。3.一个类只有一个析构函数,未定义时自动生成默认的析构函数。5.析构函数对内置类型不做处理,自定义类型调用本身的析构。无参构造函数、全缺省构造函数,这三个函数只存在一个。3.对象实例化时系统会自动调用对应的构造函数。4.对象生命周期结束时,自动调用析构函数。5.没有构造函数时,编译器会自动生成一个。(默认构造:不传实参就可以调用的)、7.后定义的在调用析构时先析构。1.在类名前加上字符"~"。1.函数名和类名相同。2.无参数无返回值。
2025-09-16 15:33:38
507
原创 数据结构--栈和队列
可以想象排队的人,先到先来,所以队列里面的数据只允许先进先出,整体用结构体构成,实际上由数组实现即可。栈里面的数据只允许后进先出(先进后出),整体用结构体构成,实际上由数组实现即可。队列的核心功能包括增删查与销毁。栈的核心功能包括增删查与销毁。
2025-05-19 22:36:20
147
原创 数据结构--单链表
单链表的核心功能:(为了便于展示,这里只实现核心功能)增删查和销毁,因为扩容需要用内存开辟,所以最后不用链表时需要销毁。比较难理解的地方都有注释加以诠释,还有不懂得地方可以在评论区提出,届时我会一一解答。其本质就是以结构体中的指针指向另一个结构体,把每个结构体链接起来,这样就是单链表。而结构体我们可以在里面放任意合法的数据,从而运用单链表存储数据。
2025-05-17 19:15:50
164
原创 文件——数据存储的媒介
在我们刚开始接触到移动通信设备时,或多或少都见过文件,有文件夹,还有文件图标或后缀不同的文件,好奇它是干什么用的,而你去打开它时可能会看到一堆看不懂的内容...在我们程序设计中,有两种文件,一种是程序生成的文件,一种是可自己创建的数据文件。今天我们看下数据文件。
2024-03-31 20:05:57
981
2
原创 编译与链接
在我们写好代码准备运行时,只需要点击运行或者调试,编译器就会反馈给我们信息。那么编译器具体是怎么把我们的代码运行的呢,下面我们来研究一下。
2024-03-31 20:05:07
581
2
原创 结构体类型
我们在存放数据时往往会借助变量、常量、指针等方法,但是它们多了会有些乱,写代码会有些麻烦,如果我们把这些都汇聚到一起,用一个变量来代替它们所有,要用某个时通过总变量来使用,写起来会流畅许多,这就是结构体类型。
2024-03-23 18:06:00
377
4
原创 整数、字符、浮点数类型在内存中的存储
我们在创建变量的时候,通常会给其附上一个值,再使用这个值,对于系统是如何拿到这个值的,我们分类一一进行学习。
2024-03-22 19:06:15
1068
3
原创 内存函数的实现
如果操作一些指针时需要经常使用某段代码,不妨可以把它封装成一个函数。而对于指针和内存,库函数也提供了相应的函数供我们使用;还有对于数据类型,我们已经都可以很好的使用它,但你了解它真正的样子吗,在使用时又需注意些什么呢?让我们一起来看看吧。
2024-03-22 12:31:45
405
3
原创 指针——编写内存程序的桥梁
在我们写代码的时候通常会遇到令人眉头一皱的问题:操作一些数据的时候很麻烦,比如说要修改某个数组中的一些数据,正常来说是先要拿到数据之后,再进行修改,而其中需要一个临时变量来控制循环,那么有没有更方便的方法呢?所以,今天来为大家介绍一种新的方法——指针,它的强大点在于可以直接操作内存中的数据,让我们对数据了如指掌。指针是用来接收地址的,而地址是用来访问内存的。
2024-03-17 22:25:42
531
3
原创 C语言分支语句
分支语句包括if,if else,switch三种语句,这些语句都支持互相嵌套使用。在C语言中,表达式的结果有两种,一种是为真,也就是为非0;一种是为假,也就是为0。那么什么时候表达式为真,什么时候为假呢?其实很简单。看下面的例子(为真的情况)表达式number == 25显然为真,则打印的值默认为1(为假的情况)表达式number == 25显然为假,则打印的值为0。
2024-01-11 19:47:30
588
1
原创 分享个人学习C的心得
为什么这样说呢,众所周知,一个问题的解题方法不是唯一的,还有就是哪个方法可以很快的就把问题解决,而这也是我所追求的:用最简便且通俗易懂的方法来解决问题,但这就需要我去学习和复习更多的编程知识和技巧。距离我第一次学习C已经有一年了,而我对于C还并没有达到炉火纯青的地步,只是了解,知道有这样一个东西,而用一些库函数包含的函数时,还是需要查询它需要的参数有哪些,参数的类型是什么,需不需要用const来修饰等等。今天的分享就到这啦。哈哈哈,最主要的还是自己的心情是吧,开心了就有心思去学了,所以每天都要开开心心哦。
2023-11-20 14:59:38
261
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅