- 博客(14)
- 收藏
- 关注
原创 c++动态内存管理(详细解说!!!!!)
内存泄漏是因为失误或者错误造成的程序未能释放已经不再使用的内存情况。内存泄漏并不是内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,失去了对该段内存的控制,因而造成了内存的浪费。危害:长期运行程序出现内存泄漏,影响很大,会越来越卡直至卡死。
2024-05-28 19:49:45
920
原创 static静态成员(详细讲解!!!)
声明为static的类成员成为类的静态成员,称之为静态成员变量;用static修饰的成员函数,称之为静态成员函数。
2024-05-12 18:10:43
446
1
原创 类和对象(基础详细总结)
一.概念:构造函数是一个特殊的成员函数,名字与类名相同创建类型对象时由编译器自动调用保证每个数据成员都有一个合适的初始值,并且在对象的生命周期内只能调用一次。二.特点:1.类名与函数名相同。2.无返回值.3.对象实例化的时编译器自动调用。4.构造函数的初始化列表,它是真正对成员变量初始化的,构造函数只是赋值。先通过日期类列表初始化再通过构造函数赋值。初始化时只能初始化非静态成员变量,且只能初始化一次,并且类中const成员,引用类型成员,类类型对象必须在初始化列表进行初始化,构造函数可以重载.
2024-05-06 20:37:52
895
1
原创 C++的this和内联函数
1.this指针是const类型的,成员函数中不能对其赋值。2.只能在成员函数中使用3.this指针是成员函数中的形参,当对象调用成员函数的时候会变成实参传递给this的形参(他当时作为地址所以不占用内存)。4.他是成员函数的的隐含的指针形参通过寄存器自动传递。
2023-09-01 00:13:57
69
1
原创 c++入门
在我们使用c/c++编码的时候会用到很多变量,函数和类都将作用于全局作用域中就很容易产生冲突官方一点就是,用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染。缺省参数是在函数定义的时候给默认值,分为全缺省(Fun没有传递参数使用的默认参数)和半缺省(Fun有的传递部分参数)无法跳过中间传递参数。3. 引用在初始化时引用一个实体后,就不能再引用其他实体,而指针可以在任何时候指向任何。6. 引用自加即引用的实体增加1,指针自加即指针向后偏移一个类型的大小。命名空间可以定义 变量,函数,类。
2023-08-20 18:01:07
53
1
原创 字符函数与字符串函数
他是比较第一个字符大小和第二个字符,比较ascll码值一个字符一个字符比较str1>str2结果大于0等于结果返回0,小于结果返回值小于0(比较的是大小不是长度)字符串以'\0'为结束标志,strlen返回的是字符串'\0'之前的个数,要想彻底掌握都需要了解如何模拟实现。strtok函数找到str中的下一个标记,并将其用 \0 结尾,返回一个指向这个标记的指针。strtok函数的第一个参数为 NULL ,函数将在同一个字符串中被保存的位置开始,查找下一个标。那末我们就可以用for(初始化;
2023-03-25 17:42:48
56
原创 浅学结构体
但是在实际问题中只有这些数据类型是不够的,有时候我们需要其中的几种一起来修饰某个变量,例如一个学生的信息就需要学号(字符串),姓名(字符串),年龄(整形)等等,这些数据类型都不同但是他们又是表示一个整体,要存在联系,那么我们就需要一个新的数据类型。2.从第二个成员开始,以后的每个成员都要对齐到某个对齐数的整数倍处这个对齐数是: 成员自身大小和默认对齐数的较小值。整个结构体的大小,必须是最大对齐数的整数倍,最大对齐数包含中嵌套的结构体成员中的对齐数。2.2匿名结构体(为一次性的)结构体类型内存的对齐(难点)
2023-03-19 17:36:54
64
原创 浮点型在内存中的存储
那我们以5.5为例先把他转为2进制根据上面那个底层逻辑我们就可以把他转化为101.1再将它右移两位成为1.011因为他为二进制,右移两位所以变成1.011*2(二进制)^2(移动两位),那末再将它带入1的公式变为(-1)^0*1.011*2^2 S=0 M=1.011 E=2。1.2. 不可以大于等于二因为这个是指数函数他只能无线接近于2(所以他有些是不准确的)不可能大于等于二如1.11111111111111.......为1+2/1+4/1+8/1............E不全为0或不全为1。
2023-02-21 20:27:53
61
原创 分支与循环(浅谈)
4我认为的难点getchar(一般输入函数)读取函数不是直接从键盘上读取而是键盘和输入函数之间有缓冲区,键盘输入到缓冲,输入区函数再从缓冲区拿取。2使用方法我现在常用的while(scanf(“%d”,&n)!=EOF)或while(scanf(“%d“,&n)==1)while(判断)我自己的易错1我们运用if时如果表达式多要一直加elseif(判断)直到最后一个表达式加else或加else if(判断);基本表达式if(判断){表达式}else if(判断){表达式}else{表达式}
2023-01-14 09:56:42
56
原创 浅学c语言
(在整个工程中都可以使用)全局变量是具有外部连接属性的。register 寄存器存储设备(硬盘,内存,高速缓存,寄存器)内存从大到小速度从慢到快。函数都存在内存中内存分为栈区(局部变量,形式参数) 堆区(动态内存分配) 静态区(静态变量,全局变量)。2内存单元的编号是地址,地址为机器为多少位的,他有32个地址线分为高频低频,转换成数字信号就是1/0。一般机器为32位机器32个0/1组成的2进制序列,需要32个bit位的空间需要4个字节。1内存,内存是电脑上的寄存器每一个程序都是在内存中运行。
2022-12-17 17:09:54
70
原创 浅学c语言
数组是一组类型相同的元素集合,int(类型)arr(数组名)【】(数组大小)数字下表从0开始0对应数组里的第一个数字,数组里的数不可超过【】的大小,符号类型字符串可以用“”可不用【】单个字符使用‘’加{},+,-,*,/,%重要的是/和%。/得到的是商,想得到小数,要保证/的两端有小数。%得到的是余数,且只能作用与整数。强制类型转换如int a=(float)=3.14;大于等于什么的操作符=永远在右边,&&逻辑与是并且。//int add是函数体。//int为返回类型应该与引用工具类型一致。
2022-12-10 16:53:58
260
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人