- 博客(8)
- 收藏
- 关注
原创 第五节 内存管理
内置类型如果申请的是内置类型的空间,new和malloc,delete和free基本类似,不同的地方是: new/delete申请和释放的是单个元素的空间,new[]和delete[]申请的是连续空间,而且new在申 请空间失败时会抛异常,malloc会返回NULL。自定义类型new的原理1. 调用operator new函数申请空间2. 在申请的空间上执行构造函数,完成对象的构造delete的原理1. 在空间上执行析构函数,完成对象中资源的清理工作。
2023-08-30 16:55:50
25
1
原创 动态内存管理
C语言提供了一个动态内存开辟的函数:void*mallocsize_tsize这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。如果开辟成功,则返回一个指向开辟好空间的指针。如果开辟失败,则返回一个NULL指针因此malloc的返回值一定要做检查。返回值的类型是void*,所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己来决定。如果参数size为0malloc的行为是标准是未定义的,取决于编译器。(VS2022可以)C。
2023-08-22 11:45:33
29
1
原创 第三节 类和对象(中)
如果一个类中什么成员都没有,简称为空类。空类中什么都没有吗?并不是的,任何一个类在我们不写的情 况下,都会自动生成6个默认成员函数。分别是构造函数,析构函数,拷贝构造,赋值重载,还有普通对象和const对象取地址(这俩了解即可,不重要)总结:构造函数:1. 大部分的类都需要自己写构造函数2. 只有像MyQueue这样类不需要显示写构造函数3. 每个类最好都要提供默认构造函数析构函数:1. 一些类需要显示写析构函数,例如,Stack,Queue...2. 一些类不需要显示写析构函数,比如Date类,没有资源需
2023-08-18 11:16:27
28
1
原创 第二节 类和对象(上)
/ 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号。类中的元素称为类的成员:类中的数据称为类的属性或者成员变量;类中的函数称为类的方法或者成员函数。1. 声明和定义全部放在类体中,需要注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理(符合inline条件)。
2023-08-15 14:59:46
38
原创 第一节 C++基础
定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名 空间的成员。//1. 普通的命名空间namespace N1 // N1为命名空间的名称// 命名空间中的内容,既可以定义变量,也可以定义函数int a;//2. 命名空间可以嵌套int a;int b;int c;int d;//3. 同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。
2023-08-12 11:26:10
43
原创 Linux基础指令
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。-d 将目录象文件一样显示,而不是显示其下的文件。如:ls –d 指定目录-i 输出文件的 i 节点的索引信息。如 ls –ai 指定文件-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件-n 用数字的 UID,GID 代替名称。(介绍 UID, GID)-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表 示符号链接;“|”表示FIFOs;
2023-08-10 16:30:47
75
2
原创 数据结构初阶--时间复杂度,空间复杂度
在实际计算时间复杂度时,我们不一定要计算精确的执行次数,而只需要大概执行次数,那么这里我们使用大O渐进表示法。它其实是一种估算一种量级评估。大O符号:是用于描述函数渐进行为的数学符号。
2023-08-09 23:16:10
125
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人