发布

学习

学习
专栏成员
76
文章
7325
阅读量
12
订阅数
【Linux】Linux下基本指令
功能 :对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
用户11290673
2025-02-19
1180
【C++】智能指针
下⾯程序中我们可以看到,new了以后,我们也delete了,但是因为抛异常导,后⾯的delete没有得到执⾏,所以就内存泄漏了,所以我们需要new以后捕获异常,捕获到异常后delete内存,再把异常抛出,但是因为new本⾝也可能抛异常,连续的两个new和下⾯的Divide都可能会抛异常,让我们处理起来很⿇烦。智能指针放到这样的场景⾥⾯就让问题简单多了。
用户11290673
2025-02-14
340
【C++】异常
异常处理机制允许程序中独⽴开发的部分能够在运⾏时就出现的问题进⾏通信并做出相应的处理,
用户11290673
2025-02-10
370
【C++】C++11
C++11 是 C++ 的第⼆个主要版本,并且是从 C++98 起的最重要更新。它引⼊了⼤量更改,标准化了既 有实践,并改进了对 C++ 程序员可⽤的抽象。在它最终由 ISO 在 2011 年 8 ⽉ 12 ⽇采纳前,⼈们曾使⽤名称“C++0x”,因为它曾被期待在 2010 年之前发布。C++03 与 C++11 期间花了 8 年时间,故⽽这是迄今为⽌最⻓的版本间隔。从那时起,C++ 有规律地每 3 年更新⼀次。
用户11290673
2025-02-05
920
【C++】用哈希表封装myunordered_map和myunordered_set
SGI-STL30版本源代码中没有unordered_map和unordered_set,SGI-STL30版本是C++11之前的STL版本,这两个容器是C++11之后才更新的。但是SGI-STL30实现了哈希表,只容器的名字是hash_map和hash_set,他是作为⾮标准的容器出现的,⾮标准是指⾮C++标准规定必须实现的,源代码在hash_map/hash_set/stl_hash_map/stl_hash_set/stl_hashtable.h中hash_map和hash_set的实现结构框架核⼼部分截取出来如下:
用户11290673
2025-01-13
750
【C++】哈希表的实现
哈希(hash)⼜称散列,是⼀种组织数据的⽅式。从译名来看,有散乱排列的意思。本质就是通过哈希函数把关键字Key跟存储位置建⽴⼀个映射关系,查找时通过这个哈希函数计算出Key存储的位置,进⾏快速查找。
用户11290673
2025-01-13
790
【C++】unordered_map与unordered_set使用
https://legacy.cplusplus.com/reference/unordered_set/
用户11290673
2025-01-13
650
【C++】封装红黑树实现的map和set
SGI-STL30版本源代码,map和set的源代码在map/set/stl_map.h/stl_set.h/stl_tree.h等⼏个头⽂件
用户11290673
2025-01-13
640
【C++】AVL树
AVL树是最先发明的⾃平衡⼆叉查找树,AVL是⼀颗空树,或者具备下列性质的二叉搜索树:它的
用户11290673
2024-11-26
1010
【C++】红黑树
红⿊树是⼀棵⼆叉搜索树,他的每个结点增加⼀个存储位来表⽰结点的颜⾊,可以是红⾊或者⿊⾊。
用户11290673
2024-11-21
620
【C++】map和set使用
前面我们已经接触过STL中的部分容器如:string、vector、list、deque、array、forward_list等,这些容器统称为序列式容器,因为逻辑结构为线性序列的数据结构,两个位置存储的值之间一般没有紧密的关联关系,如交换⼀下,他依旧是序列式容器。顺序容器中的元素是按他们在容器中的存储位置来顺序保存和访问的
用户11290673
2024-10-16
740
【Linux系统编程】Linux环境的搭建
1969 - 1970 年, AT&T 的贝尔实验室研究人员 Ken Tompson 和 Dennis Ritchie ,在采用很多 Multics 特点的基础上开发了UINX 系统。它运行在小型机上,满足了系统对科研环境的要求。从产生开始, UNIX 就是一个有价值的、高效的、多用户和多任务的操作系统。
用户11290673
2024-09-25
1080
【C++】二叉搜索树
最优情况下,⼆叉搜索树为完全⼆叉树(或者接近完全⼆叉树),其⾼度为: O (log 2 N )
用户11290673
2024-09-25
840
【C++】多态
多态(polymorphism)的概念:通俗来说,就是多种形态。多态分为 编译时多态(静态多态) 和 运⾏时多态(动态多态) ,编译时多态(静态多态)主要就是我们前⾯总结的函数重载和函数模板,他们传不同类型的参数就可以调⽤不同函数,通过参数不同达到多种形态,之所以叫编译时多态,是因为他们实参传给形参的参数匹配是在编译时完成的,我们把编译时⼀般归为静态,运⾏时归为动态。
用户11290673
2024-09-25
890
【C++】继承
继承(inheritance)机制是⾯向对象程序设计使代码可以复⽤的最重要的⼿段,它允许我们在保持原有类特性的基础上进⾏扩展,增加⽅法(成员函数)和属性(成员变量),这样产⽣新的类,称⼦类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的函数层次的复用,继承是类设计层次的复用。
用户11290673
2024-09-25
990
【C++】模版【进阶】
类型形参即:出现在模板参数列表中,跟在 class 或者 typename 之类的参数类型名称 。
用户11290673
2024-09-25
1080
【C++】STL——deque
适配器是一种设计模式 ( 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设
用户11290673
2024-09-25
1060
【C++】STL——stack,queue
注意在实现优先级队列时,我们可以用仿函数来控制优先级顺序,默认是大堆,可以通过仿函数改编成小堆,我这里把仿函数也模拟实现了一下,注意仿函数没有私密的成员变量,是空类,将括号重载,通过创建个仿函数类的对象(也可以不用创建直接使用匿名对象),调用括号,实现比较,模拟成函数调用的样子,这就是仿函数
用户11290673
2024-09-25
1100
【C++】STL——list
此处大家可将迭代器暂时理解成类似于指针, 迭代器失效即迭代器所指向的节点的无 效,即该节点被删除了 。因为 list 的底层结构为带头结点的双向循环链表 ,因此 在 list 中进行插入 时是不会导致 list 的迭代器失效的,只有在删除时才会失效,并且失效的只是指向被删除节点的迭 代器,其他迭代器不会受到影响 。
用户11290673
2024-09-25
710
【C++】STL——vector
迭代器的主要作用就是让算法能够不用关心底层数据结构,其底层实际就是一个指针,或者是对
用户11290673
2024-09-25
740
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档