- 博客(15)
- 收藏
- 关注
原创 类和对象(下)
看以上的代码,我先将c先定义,然后再初始化列表中对变量进行赋值,如果看初始化列表的顺序,那么打印结果肯定是两个变量都是10,但是是按照声明顺序,那么结果就是。static修饰的成员函数(静态成员函数)没有this指针,静态成员函数总可以访问其他的静态成员,但是不能访问非静态的成员,因为没有this指针。并且友元不能传递,A是B的友元,B是C的友元,但A不是C的友元。定义在类中的类叫做内部类,但是内部类是独立的一个类,跟全局的类相比,内部类也像个成员一样受到访问限定符的限制。
2024-11-30 19:16:45
1070
4
原创 类和对象(中)
特点:C++规定赋值运算符重载必须是成员函数,参数建议写为const引用,避免传参出现的拷贝、有返回值,返回值可直接返回*this、在没有显式定义时,编译器会自动生成一个默认赋值运算符重载,默认赋值运算符和默认构造函数相似,对内置类型按字节逐一拷贝,对自定义类型,成员调用其相应的拷贝构造函数。重载++运算符时,分前置++和后置++,运算符重载名都是operator++,C++规定,后置++重载时,会在参数处增加一个 int ,前置++并没有,这样就好区分了。从而去除了多余的拷贝,提高了效率。
2024-11-30 19:16:28
892
原创 类和对象(上)
class为定义的关键字,后接类名,类名后接{},在括号中的内容就是类的成员变量/函数,最后在分号,形似与C语言中的结构体。int a;///由于C++兼容C语言的struct语法,所以C语言中的struct也升级成了类, 较大的变化就是C语言中struct从不能再结构体中定义函数,到C++中可以定义函数了。类中定义的函数都是默认inline内联函数。//将int类型更名ps = NULL;_top = 0;assert(ps);return;//空间申请_top++;
2024-11-30 19:16:04
887
原创 C++入门
/ 命名空间中可以定义变量/函数/类型int val;命名空间中也可以定义命名空间,也就是命名空间的嵌套int a;访问域中的成员,就要使用 :: 操作符访问。也可以使用using将命名空间中某个成员展开,项⽬中经常访问的不存在冲突的成员推荐这种⽅式或者是展开命名空间中全部成员,项⽬不推荐,冲突⻛险很⼤,⽇常⼩练习程序为了⽅便。
2024-11-16 17:49:21
1142
原创 数据结构-排序算法
冒泡排序是较为经典的排序,但是自身效率太低,稳定性好,一般不用在工作和使用,只用于教学意义。冒泡排序是将两个数据比较大小,然后逐一交换,时间复杂度为O(
2024-10-29 20:45:46
605
1
原创 二叉树(数据结构)
树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因 为它看起来像一棵倒着的树,根朝上,而叶朝下。树从根节点出发,不断向下“衍生”叶子节点,而其叶子节点又是其子树的根节点,因此整个树的根节点是没有前驱节点。除开根节点外,其余各个节点是各个不相交的集合。树是递归定义的。树型结构中,各个子树间是互不相交的。
2024-10-09 17:48:49
709
原创 栈和队列(C语言)
///本次使用单链表对“队”的实现}Quenode;int size;}Queue;//初始化// 队尾入队列// 队头出队列// 获取队列头部元素// 获取队列队尾元素// 获取队列中有效元素个数// 检测队列是否为空,如果为空返回非零结果,如果非空返回0// 销毁队列在这里可以使用两个指针分别指向头和尾部,以方便操作。
2024-10-06 17:33:35
1108
原创 线性表小项目(通讯录、贪吃蛇)
在游戏中控制台的结构分布大致是这样的。过去C语⾔并不适合⾮英语国家(地区)使⽤。C语⾔最初假定字符都是单字节的。但是这些假定并不是在世界的任何地⽅都适⽤。后来为了使C语⾔适应国际化,C语⾔的标准中不断加⼊了国际化的⽀持。⽐如:加⼊了宽字符的类型 wchar_t 和宽字符的输⼊和输出函数,加⼊了头⽂件,其中提供了允许程序员针对特定 地区(通常是国家或者说某种特定语⾔的地理区域)调整程序⾏为的函数。
2024-08-20 18:46:23
1355
原创 线性表(数据结构)
线性表是一种基本的数据类型,每一个元素对应了相应的位置,线性表分为顺序结构和链式结构,也就是顺序表和链表。凡是谈到线性表的实现就要实现基本的“增 删 查 改”。
2024-08-05 13:41:24
275
原创 文件操作(C-language)
计算机中有内存和外存,内存用于临时存储数据关机后消失,而外存关机后则会一直保留数据。而文件就保存在磁盘(硬盘上)。在程序设计中一般文件有程序文件、数据文件。
2024-07-19 18:54:55
1111
1
原创 在内存中的数据存储
数据在内存中是如何存储的呢?简单来说,数据被转化为计算机能理解的二进制形式,并按一定规则存储在内存的不同位置。这涉及到数据的类型、大小和存储方式。了解这些数据存储的奥秘,有助于我们更好地理解和优化计算机的运行。
2024-05-26 16:01:56
1423
11
原创 字符串函数
本文将简要介绍这些常用的C语言字符串函数,包括它们的基本功能和使用方法。通过具体的代码示例,我们将展示如何在实际编程中运用这些函数来处理字符串。注:使用库函数里的字符串,就需要包含头文件string.h,也就是#include
2024-05-02 22:21:26
1009
3
原创 操作符详解——C语言
在编程中,操作符是我们用来执行各种操作的关键元素,如算术运算、比较判断以及逻辑处理等。这些看似简单的符号,实际上承载着强大的功能,它们是编程语言中不可或缺的一部分,但因为操作符的数量较多,因此我们需要将其分类然后逐一理解。
2024-05-01 11:28:32
717
8
原创 柔性数组概念及其内存申请
先申请到的新空间结存放在构体指针变量中,因为malloc函数可能存在分配失败的情况,即返回NULL值,于是我们可以在此做判断如果分配失败,则提前结束运行,但如果申请成功就对结构体内部元素进行一些赋值运算。在这里可以看到,使用了一个新的结构体类型指针,进行接收新调整的内存,再将其赋值给原来的指针变量,这样就完成了对指针变量的内存调整,同样的也需要对其进行判断之后再进行操作。中间进行同样的操作,但是在最后的释放内存的时候,需要先释放数组指针所指向的内存,然后再释放结构体指针p的指向的内存。
2024-04-04 23:52:50
341
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅