- 博客(48)
- 收藏
- 关注
原创 C\C++内存管理(未完结)
int main()// new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间还会调用构造函数和析构函数free(p1);delete p2;// 内置类型是几乎是一样的// Cfree(p3);delete p4;free(p5);return 0;
2024-06-03 20:39:44
939
原创 类和对象(下篇)
2.初始化列表构造函数分为俩个阶段:初始化列表 函数体赋值初始化列表结构:冒号( :)开始 成员变量(值)逗号(,)分隔,大括号({})结束,这里的成员变量(值)可以不写。调用构造函数先会进入初始化列表 ,在进入函数体中。即使初始化列表什么也没有,也会先进入到初始化列表,因为初始化列表是成员变量定义的地方,先定义才能赋值。在初始化列表中给成员变量值是初始化,在函数体中给值只能说是赋值,因为初始化列表完成的是对成员变量的定义和初始化,即使没有显示写初始化列表,也会定义成员变量,初始化的值是随机值。
2024-05-25 13:30:37
587
原创 类和对象(中篇)
如果一个类中什么成员都没有,简称为空类。空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默认成员函数。构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,以保证每个数据成员都有 一个合适的初始值,并且在对象整个生命周期内只调用一次。构造函数是特殊的成员函数,需要注意的是,构造函数虽然名称叫构造,但是构造函数的主要任务并不是开空间创建对象,而是初始化对象。其特征如下:注意
2024-05-08 16:14:10
899
原创 类和对象(上篇)
使用class或struct 关键字 后面跟类名 { }{}中为类的主体,注意类定义结束时后面分号不能省略。类中的内容称为类的成员,类中的变量称为成员变量或类的属性,类中的函数称为成员函数或类的方法类的定义像是画图纸,而类对象的定义(实例化)像是照着图纸建出来的东西类的(成员函数)俩种定义方式1.成员函数声明和定义全部写在一起(都在类中写)public:cout
2024-05-08 11:28:07
597
原创 C++入门(3)
1.函数+inline不一定是内联函数, 函数前加inline只是给编译器一个建议,是不是内联函数还要以编译器认定为准。2.inline内联函数是以空间换时间的做法,编译器认为函数是内联函数,在预处理中会用函数体替换函数调用。优势:少了调用的开销,提升了效率。引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。有些地方需要频繁调用函数,导致消耗,使用内联函数可以解决,使用内联函数 在使用内联函数处 会把函数的处理方法,灵活的展开。
2024-04-23 09:07:01
746
原创 C++入门 (2)
函数定义与声明分离问题 函数中设定缺省参数 并且函数声明 定义分离 缺省参数设定只能在声明中 ,因为俩个文件 中因为疏忽 把缺省值写错(不一致)就会造成歧义,编译器在编译阶段是检查语法是能够通过的,在链接过程中 把所以的文件合并一起时,因为函数的缺省参数值不一致,编译器不知道引用哪个缺省值,之后所引发错误。注意:形参设定缺省值必须是常量或全局变量。
2024-04-18 22:38:24
420
原创 数据结构---算法的空间复杂度
注意:函数运行时所需要的栈空间(存储参数、局部变量、一些寄存器信息等)在编译期间已经确定好了,因此空间复杂度主要通过函数在运行时候显式申请的额外空间来确定。空间复杂度不是程序占用了多少bytes的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。空间复杂度也是一个数学表达式,是对一个算法在运行过程中临时占用存储空间大小的量度。空间复杂度计算规则基本跟实践复杂度类似,也使用大O渐进表示法。因为创建出N+1个额外的空间 取影响最大的项为N。递归算空间复杂度算的是总调用函数个数+变量的个数。
2023-12-22 21:39:28
385
1
原创 Linux指令与周边知识
在众多操作系统中的指令操作 如出一辙指令的学习不要死记硬背可以通过从我们熟悉windows操作系统图形化操作与我们要学的Linux指令相结合学习。Linux操作系统的结构是树状结构,每一个普通文件或目录只存在(附属)一个目录中,这一特性让路径拥有了唯一的特性,能够通过路径就能找到文件或者目录。要访问普通文件或目录 就需要先找到它,找到它就需要使用路径。可以使用绝对路径和相对路径都可以找到每个目录下都有俩个.(点). .(点点) 目录存在. (点):表示当前路径。
2023-11-17 18:54:34
35
原创 操作系统简述
对下提供基本管理工作:让硬件工作在高效 . 稳定 . 安全的状态当中。分为硬件 - 设备驱动 - 操作系统 - 应用软件。对上提供一个高效 . 稳定 . 安全的运行环境。操作系统:一个管理软硬件资源的软件。操作系统的作用是软硬件的资源管理。计算机的软硬件体系是分层次的。
2023-11-17 17:57:18
51
原创 数据结构[顺序表]
1.顺序表可分为静态顺序表和动态顺序表静态顺序表:数组元素个数是一个固定值,使用定长数组来存储数据int a[100];int size;//记录有效数据个数}SL;动态顺表表:动态开辟空间来存放数据int size;//记录有效数据个数//记录开辟数组空间的总数}SL;这里使用动态顺序表结构实现。
2023-11-16 17:01:50
161
原创 形参与实参
int a,float b,char c,bool d 前面的都是变量。我们要假设要求两整数数值相加,就要调用上面定义的add函数。我们在讲函数传参的俩种方式之前在强调一件事。也是一个变量 (老铁要谨记)传递给函数的值是实参,接收实参的值是形参。假设我们定义了一个俩数值相加函数。这里 我们在主函数中调用。
2023-10-18 22:35:54
45
1
原创 ——BF算法——
调用assert函数,判断传入的字符串首地址不为NULL算出主串字符串和字串长度,为了能用下标值遍历字符串int strSTR = string(str) int strSUB=string(sub)创建 int i 和 int j当作下标 i当主串下标 j当字串下标写一个循环遍历主串和子串这里写匹配字符串的代码if(str[i]==sub[j])//相等遍历下一个字符j++;i++;else{ //如果不相等 主串下标+1//子串下标回到起始下标j = 0;
2023-09-18 15:44:23
178
原创 数据在内存中的存储(浮点数)
举例:指数E是一个unsigned int (正整数)E为8位的时候取值范围位0—255,为16位时0—2047。当E为-127是E在内存中存入的是全零,这时特殊出来指数取出为1-127或1-1023,整数1就不再给。M加上了,因为E==-127在公式中计算就是一个趋向于0的值,索性不再加1,表现±0值(±取决于S)减去中间值(127或时1023),在加给M加上舍去的1经过公式计算,就得出了真实值。的取值范围≥1且<2,在内存存入M省略1,内存中只保存M的小数位。代表符号位 s为0,则为正,1为负。
2023-09-18 12:49:26
61
原创 C语⾔内存函数
• 函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。• 如果source和destination有任何的重叠,复制的结果都是未定义的。• 这个函数在遇到 ‘\0’ 的时候并不会停下来。
2023-09-09 21:51:28
51
原创 字符串分类函数和字符串转换函数
将参数传进去的⼩写字⺟转⼤写。iscnctrl()函数,判断是否是控制字符的函数。isalnum()函数检查字符是否是字母或数字。isxdigit()检查字符是否是十六进制数字。islower()检查字符是否是小写字母。isupper()检查字符是否是大写字母。isspace()检查字符是否是一个空格。ispunct()检查字符是否是标点字符。isgraph()检查字符是否有图形表示。isdigit检查字符是否是十进制数字。isalpha()检查字符是否是字母。isprint()检查字符是否可打印。
2023-09-08 20:16:15
34
原创 数组越界不报错,反而死循环?
等到了12次循环,arr数组中的i变成12,前一次i为11,然后i++,变成12,i变arr[12]也会变化,因为共用一个地址,空间里的值有变化,i和arr[12]都会变化,等到了arr[12]=0是,arr[12]赋值为0,i变成0,同一原理,之后打印结果,i++,i==1,以此类推,一直循环。首先,定义了俩个局部变量,局部变量是存放在栈区的,栈区的存放地址习惯是从高地址到地地址,上面代码先定义的i,其次是arr数组,i的地址一定高于arr数组的整体地址,
2023-08-01 14:41:30
52
1
原创 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,详细教学
【代码】计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,详细教学。
2023-08-01 07:35:22
130
1
原创 扫雷游戏(保姆级教学一看就懂)!!!!!
2.棋盘我们需要创建两个数组,一个数组布置雷,另一个数组来记录排雷的数据。扫雷规格是9 * 9.但我们要创建的两个数组是11行11列的,也就是规格11 * 11,因为我们要注意排查边上的周围如果创建11行11列的数组可以不越界。黑色表格是9 * 9规格,如果说在这个规格下在图中画星的四周排查一定会越界,所以说我们要创建11行11列的数组3.初始化数组我们先要将这两个数组初始化,布置雷的数组初始为’0‘,记录排雷数据的数组初始化为’*‘,为了后面放雷,与放在排雷数据更加容易。这里我们把’0‘作
2023-07-31 15:06:20
490
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人