- 博客(26)
- 收藏
- 关注
原创 Linux基础指令
功能:less与more类似,使用less可以随意浏览文件,且less在查看之前不会加载整个文件,拥有更多的搜索功能,可以向下搜,也可以向上搜。选项:• -a或‒all:详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。是:只要用户具有目录的写权限,就可以删除目录中的文件,不论这个用户是否有这个文件的写权限。:向显示器文件写入,或向指定文件写入(重定向操作,若文件不存在,就新建文件)功能:显示尾部指定内容,不指定文件时,作为输入信息进行处理。
2025-03-17 22:49:46
739
原创 stack和queue
queue文档emptysizefront返回队头元素的引用back返回队尾元素的引用push_back在队列尾部入队列pop_front在队列头部出队列priority_queue 文档优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。类似于堆,在堆中可以随时插入元素,并且只能检索最大堆元素(优先队列中位于顶部的元素)标准容器类vector和deque满足这些需求。默认情况下,
2025-03-13 12:15:31
631
原创 vector
如果pos刚好是最后一个元素,删完之后pos刚好是end 的位置,而end位置是没有元素的,那么pos就失效了。上方代码实现reserve扩容时没有用memcpy浅拷贝,而是使用赋值重载深拷贝,使指向新地址。,比如:resize、reserve、insert、 assign、push_back等。Linux下,g++编译器对迭代器失效的检测并不是非常严格,处理也没有vs下极端。erase删除pos位置元素后,pos位置之后的元素会往前搬移,解决方法:给 i 重新赋值即可。,造成的后果是程序崩溃。
2024-11-26 22:41:17
945
原创 模板初阶+STL简介
class 类模板名// 类内成员定义public:_size = 0;// 模版不建议声明和定义分离到两个文件.h 和.cpp会出现链接错误_size++;
2024-10-14 21:54:26
254
原创 C/C++内存管理
malloc free与new delete最大区别是:在申请自定义类型的空间时,new会调用构造函数,delete会调用析构函数,而malloc与free不会class Apublic:: _a(a)~A()private:int _a;free(p2);return 0;调用operator new函数申请空间在申请的空间上执行构造函数,完成对象的构造在空间上执行析构函数,完成对象中资源的清理工作。
2024-10-13 22:40:24
853
原创 【C++初阶】类和对象(三)
初始化列表总结:2.类型转换C++支持内置类型隐式类型转换为类类型对象,需要有相关内置类型为参数的构造函数 构造函数前面加explicit就不再支持隐式类型转换 类类型的对象之间也可以隐式转换,需要相应的构造函数支持3. static成员用static修饰的成员变量,称之为静态成员变量,静态成员变量一定要在类外进行初始化。静态成员变量为所有类对象所共享,不属于某个具体的对象,不存在对象中,存放在静态区用static修饰的成员函数,称之为静态成员函数,静态成员函数没有this指
2024-10-10 22:39:09
898
原创 【C++初阶】类和对象(二)
就是称为默认成员函数。⼀个类,不写的情况下编译器会默认生成以下6个默认成员函数,需要注意的是这6个中最重要的是前4个,最后两个取地址重载不重要,稍微了解⼀下即可。
2024-10-02 17:46:17
1056
原创 【C语言】内存分配
初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。等,由编译器自动分配和释放,通常在函数执行完后就释放了。函数进行内存释放,否则会造成。程序运行期间,常量区的内容。程序结束后,由系统释放。
2024-09-20 17:18:49
306
原创 【C++初阶】入门基础
定义命名空间,需要使用到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中 即为命名空间的成员。命名空间中可以定义变量/函数/类型等。namespace smc//命名空间名字通常可以使用自己的名字,形目名称等(此处均使用本人名字)int a = 1;// 命名空间中可以定义变量/函数/类型int data;namespace本质是定义出⼀个域,这个域跟全局域各自独立,不同的域可以定义同名变量。
2024-09-17 18:02:11
962
原创 【数据结构初阶】排序
将杂乱无章的,通过一定的方法按顺序排列的过程叫做排序。常见排序方法有:插入排序,希尔排序,直接选择排序,堆排序,冒泡排序,快速排序,归并排序,基数排序......
2024-09-13 22:57:42
765
原创 栈和队列(概念与实现)
一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作进行插入操作的端称为队尾进行删除操作的端称为队头队列中没有元素时,称为空队列底层选择:使用稍加改造后的链表更优实现:Queue.hint data;}QNode;//队头//队尾int size;}Queue;// ⼊队列,队尾// 出队列,队头//队列判空//取队头数据//取队尾数据//队列有效元素个数//销毁队列assert(pq);
2024-08-13 12:04:33
264
原创 算法和复杂度
算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。的目的在于选择合适算法和改进算法。
2024-08-01 13:02:52
272
原创 【C语言】ifndef解决多次包含问题
当第一次调用这个头文件的时候,没有定义SYMBOL,就会继续对下面的语段进行声明。但是当第二次调用头文件时,已经定义了SYMBOL,所以就不会进行下面的代码声明了。ifndef后标识符没有被定义(即不存在#define ...时。,它是以根据是否已经定义了一个变量来进行分支选择。#ifndef条件指示符是c++中的。1.ifndef介绍。
2024-07-29 18:03:55
243
原创 【C语言】编译和链接
_FILE__: 它表示当前源文件的名称。__LINE__: 它表示当前源文件的行号。__DATE__: 它表示源文件被编译的日期。__TIME__: 它表示源文件被编译的时间。__STDC__: 如果编译器遵循ANSI C标准,那么它的值就是1。: 它表示当前函数的名称。这段代码会打印出当前源文件的名称、行号、编译日期、编译时间、是否为ANSI C编译器,以及当前所在的函数。
2024-07-28 12:15:28
685
原创 【C语言】fprintf和fscanf详解
fprintf是C/C++中的一个格式化库函数,位于头文件<cstdio>;中,其作用是格式化输出到一个流文件中。
2024-07-27 21:24:10
687
原创 【C语言基础】结构体详解
结构体是c语言中的一种复合数据类型,它允许你将不同的数据类型组合成一个新的数据类型。struct语句格式如下:此处为一个存储学生名字,年龄和性别的结构体,结构体名是stu注:结构体名和内容都可以自定义,创建好的struct要加上分号(1)直接访问:点操作符(.)
2024-07-26 16:27:42
541
原创 【C语言基础】分支和循环语句
1.1 分支中包含多条语句if 和 else 语句中都默认只控制一条语句,可使用 { } 括上多条语句。1.2 悬空else问题如果有多个 if 和 else语句时,else 总是与最接近的 if 匹配。例如:int main()int a,b;输出结果:。
2024-04-14 00:10:39
901
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人