- 博客(27)
- 收藏
- 关注
原创 string的常用函数
擦除字符串的内容,该字符串将变为空字符串(长度为 0 个字符)。而cin>> 遇到空格(' ')就会停止输入。请求根据计划的大小更改调整空间的大小。在pos 位置 插入 字符 或 字符串。请求更改容量(capacity)可以参考返回值,判断是否相同。直到遇到 ‘\n’ 才会停止。rbegin 指向尾。计算分配的空间的大小。都是增加字符串的函数。
2024-08-24 16:33:47
334
原创 c++ 内存管理
在申请自定义类型的空间时,new会调用构造函数,delete会调用析构函数,而malloc与。,实际在operator delete[]中调用operator delete来释放空间。,在operator new[] 中实际调用 operator new函数完成N 个对。是高效的I/O映射方式,用于装载一个共享的动态内存库。--非静态局部变量/函数参数/返回值等等,栈是向下增长的。用于程序运行时动态内存分配,堆是可以上增长的。,完成对象中资源的清理工作,,完成N个对象中资源的清理,释放的对象空间上执行。
2024-07-29 00:55:57
697
原创 C++ 基础(类和对象下)
4.2内部类默认是外部类的友元类内部类本质也是⼀种封装,当A类跟B类紧密关联,A类实现出来主要就是给B类使⽤,那么可以考虑把A类设计为B的内部类,如果放到private/protected位置,那么A类就是B类的专属内部类,其他地方都用不了。
2024-07-24 15:20:35
319
原创 c++基础(类和对象中)(类的默认成员函数)
4. 对象生命周期结束时,系统会自动调用析构函数。5. 跟构造函数类似,我们不写编译器自动生成的析构函数对内置类型成员不做处理,自定类型成员会调用他的析构函数。6. 自定义类型成员。
2024-07-21 14:07:19
601
原创 c++基础(类与对象上)
1. class为定义类的关键字,类体中内容称为类的成员:类中的变量 称为类的属性 或 成员变量;类中的函数 称为类的方法 或者 成员函数。2. 为了区分成员变量,⼀般习惯上成员变量会加⼀个特殊标识,如成员变量前面或者后面加 _ 或者 m开头,比如:3.C++中struct也可以定义类(C++兼容C中struct的用法)⼀般情况下还是推荐用class定义类。(因为struct默认类里面全是public(也就是成员和函数全部公开)而class则全是private(全部成员和函数 不公开))( 1.2的第三点
2024-07-15 17:09:26
880
原创 树 和 二叉树 和 堆 之间的关系
一个结点含有的子树的个数称为该结点的度;如上图:A的为6.:度为0的结点称为叶结点;如上图:B、C、H、I...等结点为叶结点:度不为0的结点;如上图:D、E、F、G...等结点为分支结点:若一个结点含有子结点,则这个结点称为其子结点的父结点;如上图:A是B的父结点:一个结点含有的子树的根结点称为该结点的子结点;如上图:B是A的孩子结点:具有相同父结点的结点互称为兄弟结点;如上图:B、C是兄弟结点:一棵树中,最大的结点的度称为树的度;如上图:树的度为6。
2024-06-11 19:56:24
894
原创 c语言数据结构—队列
操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾 出队列:进行删除操作的一端称为队头.
2024-05-15 13:04:52
303
原创 c数据结果——栈
其只允许在固定的一端进行插入和删除元素操作。因为数组在尾上插入数据的代价比较小。1.2 栈的实现栈的实现。1.1 栈:一种特殊的。
2024-05-12 15:42:38
121
原创 单链表OJ题
如果 slow走1步 ,fast 走 3 步4 步 5 步..... 他们会相遇吗?设他们相差 N 步,如果fast走 两 步,slow 走一步。上题已经说明 无论fast走 多少步都会相遇。(为什么一定会相遇?从头开始数L就可以找到进环的节点。= 偶数 - 奇数 ,最后肯定到 NULL 指针,这题其实也是推导公式,把他们。无法找到 NULL。就可以找到进环节点!来解决 也就是说他们。fast 每次 追一步。
2024-05-05 17:39:17
226
原创 sscanf 和 sprintf 和 fscanf 和 fprintf
我们也和 scanf 比较一下。fprintf 是一个。fscanf 是一个。,也就是 字符串打印。把 字符串 转换 为。
2024-04-01 18:34:18
309
原创 相对简单的 自定义类型:结构体
如果我们能保证将所有的double类型的数据的地址都对⻬成8的倍数,那么就可以⽤⼀个内存操作来读或者写值了。编译器会把上面的两个声明当成完全不同的两个类型,所以是非法的。4.如果嵌套了结构体的情况,嵌套的结构体成员对齐到自己的成员中最大对齐数的整数倍处,结构体的整体大小就是所有最⼤对⻬数(含嵌套结构体中成员的对⻬数)的整数倍。1.结构体的第⼀个成员对齐到和结构体变量起始位置偏移量为0的地址处。那在设计结构体的时候,我们既想要满⾜对⻬,⼜想要节省空间,就可以。其实是有问题的,在匿名结构体。
2024-03-22 13:17:11
711
1
原创 比较简单 的 指针进阶(基础一)
每个内存单元,相当于⼀个学⽣宿舍,⼀个人字节空间⾥⾯能放8个⽐特位,就好⽐同学们住的⼋⼈间,每个⼈是⼀个⽐特位。每个内存单元也都有⼀个编号(这个编号就相当于宿舍房间的⻔牌号),有了这个内存单元的号,CPU就可以快速找到⼀个内存空间。⽣活中我们把⻔牌号也叫地址,在计算机中我们把内存单元的编号也称为地址。C语⾔中给地址起了新的名字叫:指针。总结: 内存单元的编号==地址==指针(重点)如图:每个内存(字节)都有个 地址(指针)在C语言中创建变量其实是向内存申请空间来存放数据int a = 10;表面上看,
2024-03-19 11:25:38
599
1
原创 简单的讲述 :整数和浮点数在内存中存储 (快速版)
这样做是为了表⽰±0,以及接近于0的很⼩的数, {也就是 2^(-127) }⽐如,2^10的E是10,所以保存成32位浮点数时,必须保存成10+127=137,即10001001。IEEE 754规定,存⼊内存时E的真实值必须再加上⼀个中间数,对于8位的E,这个中间数是127;转换为二进制时,M可以写成 1.xxxxxx 的形式,其中 xxxxxx 表⽰⼩数部分,• (-1)^S 表示符号位,当S=0,V为正数;这时,浮点数的指数E等于1-127(或者1-1023)即为真实值,
2024-03-17 11:46:54
872
1
原创 比较简单的 memcpy,memmove 内存函数模拟实现
• 函数memcpy从source的位置开始向后复制num个字节(很重要,记住是字节,不是个数)的数 据到destination指向的内存位置。• 这个函数在遇到'\0'的时候并不会停下来。• 如果source和destination有任何的重叠,复制的结果都是未定义的。
2024-03-15 11:07:05
273
3
原创 简单的 strncmp,strncpy , strncat 模拟实现
第⼀个字符串第⼆个字符串,则返回大的数字;◦ 第⼀个字符串第⼆个字符串,则;◦ 第⼀个字符串第⼆个字符串,则返回的数字;
2024-03-15 10:52:42
296
1
原创 三种方法模拟strlen
有人问为什么上面(size_t my_strlen2( char* arr))不是const char*arr每次递推,都向后一位 也就是 my_strlen3(arr + 1)因为要返回一个数,所以要1 + my_strlen3(arr + 1)因为有个警告,我还没搞懂,弄完我在评论区会留言噢。最后arr递推到 ‘\0’ 返回零。比较简易,不是全部的,但是够用!这个递归运用大事化小的思想。(指针的基础要牢记)
2024-03-08 15:41:27
217
1
原创 从零开始转生成为萌新程序员
打算在学习编程这件事上每周花费多少时间?自我介绍:比较喜欢代码,喜欢游戏,对代码感兴趣。你打算怎么学习编程?跟着bit,提前学习。最想进入的一家IT公司?编程的目标,成为c++大佬。
2024-01-21 12:16:56
338
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人