
c++入门
文章平均质量分 74
c嘎嘎
种时光的人
这个作者很懒,什么都没留下…
展开
-
c++初阶 string的底层实现
首先可以明确的是string的底层结构是字符串数组,但是由于字符串数组中是使用。来终止的,因此他实际的存储空间是要比显示的多一个的。声明:非纯手搓,运用到了部分c语言的函数。原创 2024-08-06 00:57:35 · 522 阅读 · 0 评论 -
【C++入门】一篇带你了解类与对象~
C语言结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。比如:在数据结构初阶中,用C语言方式实现的栈,结构体中只能定义变量;现在以C++方式实现,会发现struct中也可以定义函数在c++语言中,我们更喜欢用类(class)来代替struct的存在,它相比struct来说完善了很多的内容,功能也更加丰富,比如说构造函数析构函数等,后面我会再写文章来讲解这一方面。class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分。原创 2024-01-30 22:14:49 · 1096 阅读 · 1 评论 -
【c++入门】指针的好盆友:引用
作为函数的参数:当函数需要修改其参数的值时,可以将引用作为参数传递给函数。这样,函数对引用的操作实际上是对原始变量的操作,而不是对原始变量的副本进行操作。这种方式可以避免数据的拷贝,提高效率。简化指针操作:通过引用,可以更简洁地操作指针。例如,可以将一个数组的引用传递给函数,使得函数可以直接访问数组元素,而不需要使用指针来解引用。作为函数的返回值:可以将引用作为函数的返回值。当函数返回一个临时对象时,可以通过引用返回该临时对象,避免了返回临时对象所占用的存储空间被重复使用的情况。原创 2024-01-23 20:24:52 · 1335 阅读 · 1 评论 -
【c++入门】内联函数inline:弥补宏定义的不足
2.另外,内联函数对于编译器来说只是一种请求,内不内联取决于编译器,比如说:如果你的函数超过了75行,那么编译器就会驳回你的请求,对于递归的函数编译器也是不会处理的。相比于没加inline的函数,加了inline的函数直接在main函数里面展开,而没有加的需要根据地址去转到函数位置,建立新的栈帧更加消耗性能。的做法,如果编译器将函数当成内联函数处理,在编译阶段,会用函数体替换函数调用,缺陷:可能会使目标文件变大,优势:少了调用开销,提高程序运行效率。这一概念,不仅吸收了宏的优点,还尽可能的优化了缺点。原创 2024-01-24 18:56:11 · 438 阅读 · 1 评论 -
【c++入门】域的认识
所谓域就是值一块独特的领域,这块领域包括它的所属成员(一个常量或者一个函数均可)。我们先不管这串代码是什么意思,我们后文会讲解到。在这串代码中我们创建了两个域,这两个域虽然都有成员x,但这两个x是相互独立的存在。当我们使用领域的所属成员时,我们需要再前面声明它是谁家的x,这就相当于告诉计算机:你给我去这个地方找人去,找不到就别回来啦。原创 2024-01-17 16:40:13 · 745 阅读 · 1 评论 -
【c++入门】缺省参数 && 重载函数
所谓缺省参数,其实和普通参数区别不大,但是需要在函数定义的时候初始化一下,上述代码中的,a便是缺省参数,而参数完全都是缺省参数的函数就叫做缺省函数。在c语言中,函数的传参要和函数的形参一一对应,相应的它的使用就很死板,所以在c++中祖师爷引入了缺省参数这一概念,灵活了函数的使用。在结果中,我们可以发现如果我们在这个参数上传了值,那么那个参数就是传的值,若没有传参则是函数参数定义的初始值。这三个函数的名字是相同的,但由于类型不同,所以其实这可以算是三个不同的函数。但是和缺省函数不同的是,非缺省参数的位置。原创 2024-01-21 22:38:42 · 367 阅读 · 1 评论