自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 C++语法知识点合集:11.模板

优点模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生增强了代码的灵活性缺点模板会导致代码膨胀问题,也会导致编译时间变长出现模板编译错误时,错误信息非常凌乱,不易定位错误。

2024-09-08 21:57:04 934

原创 C++语法知识点合集:10.stack和queue

C++ 中的 stack 是一种数据结构,位于标准模板库(STL)中。它遵循后进先出(LIFO, Last In First Out)的原则,也就是说,最后插入的元素最先被移除。LIFO 结构:最后插入的元素最先被取出。限制访问方式:只能访问栈顶元素,无法直接访问其他元素。队列是一种容器适配器,专门用于在FIFO上下文(先进先出)中操作,其中从容器一端插入元素,另一端提取元素。优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。

2024-09-06 12:00:00 1018

原创 C++语法知识点合集:9.list

在 C++ 中,list 是一种标准库容器(container),定义在 < list > 头文件中,属于标准模板库(STL)。list 是一个双向链表(doubly linked list),与数组(如 vector)相比,list 的存储方式和操作方式有一些不同。双向链表结构:list 使用双向链表实现,这意味着每个元素都存储一个指向前一个和后一个元素的指针。与单向链表不同,双向链表可以从任意节点向前或向后遍历。

2024-09-05 08:00:00 1929

原创 C++语法知识点合集:8.vector

迭代器失效:在 std::vector 中,当你调用 erase 删除元素时,所有指向被删除元素以及其后元素的迭代器都会失效。之后,v 中的元素全部变为100个值为8的元素,并且这些元素会被存储在一个新的内存区域。论上讲迭代器不应该会失效,但是:如果pos刚好是最后一个元素,删完之后pos刚好是end的位置,而end位置是没有元素的,那么pos就失效了。在 C++ 中,erase删除pos位置元素后,pos位置之后的元素会往前搬移,没有导致底层空间的改变,理。因此迭代器失效,实际就是迭代器。

2024-09-04 17:01:24 965

原创 C++语法知识点合集:7.string类

时,会调用operator=(String s),而参数s是对象b的一个副本。如果对象中管理资源,最后就会导致多个对象共享同一份资源,当一个对象销毁时就会将该资源释放掉,而此时另一些对象不知道该资源已经被释放,以为还有效,所以当继续对资源进项操作时,就会发生发生了访问违规。由于s是传值过来的副本对象,交换之后,当前对象_str指向了副本对象的内存,而副本对象s则指向了当前对象原来所指向的内存。交换操作完成后,副本对象s会在函数结束时自动销毁,其析构函数会释放它持有的内存,即之前当前对象持有的内存。

2024-09-04 00:22:25 1653

原创 C++语法知识点合集:6.模版初步

class 类模板名// 类内成员定义。

2024-09-01 17:19:54 578

原创 C++语法知识点合集:5.内存管理

在申请自定义类型的空间时,new会调用构造函数,delete会调用析构函数,而malloc与free不会。int main()// new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间// 还会调用构造函数和析构函数free(p1);delete p2;// 内置类型是几乎是一样的// Cfree(p3);delete p4;

2024-09-01 16:38:01 1011

原创 C++语法知识点合集:4.类和对象(3)

类是对某一类实体(对象)来进行描述的,描述该对象具有那些属性,那些方法,描述完成后就形成了一种新的自定义类型,才用该自定义类型就可以实例化具体的对象。

2024-08-30 14:31:32 1687

原创 C++语法知识点合集:3.类和对象(2)

如果这个成员变量,没有默认构造函数,那么就会报错,我们要初始化这个成员变量,需要用初始化列表才能解决。若类中没有显式定义构造函数,C++编译器会自动生成一个无参的默认构造函数,(不传实参就可以调用的构造就叫默认构造),一旦显式定义编译器将不再生成。构造函数名字与类名相同,创建类 类型对象时由编译器自动调用,保证了每个数据成员都有一个合适的初始值,并且在对象整个生命周期内只调用一次。在编译器生成的默认拷贝构造函数中,内置类型是按照字节方式直接拷贝的,而自定义类型是调用其拷贝构造函数完成。

2024-08-30 01:44:22 912

原创 C++语法知识点合集:2.类和对象(1)

C++类和对象(1)

2024-08-27 18:55:18 649

原创 C++语法知识点合集:1.入门概念part

一些c++的入门概念汇总

2024-08-27 01:49:25 760

原创 二叉树链式结构的实现

按照根 左子树 右子树的顺序访问二叉树。按照左子树 根 右子树的顺序访问二叉树。按照左子树 右子树 根的顺序访问二叉树。

2024-08-26 01:05:03 354

原创 二叉树的顺序结构及实现

记录一下学习收获 说明和要注意的点都写在代码片注释里了 对二叉树顺序常见接口进行了整理并且简单应用,重点是要理清调整的过程以及起始终止的索引

2024-08-23 01:26:13 208

原创 树和堆的基础知识

2.完全二叉树:树高h,前(h-1)层都是满的,最后一层从左到右依次缺失;一棵二叉树是节点的一个有限集合,该集合或者为空,或者由一个根节点加上左子树和右子树的二叉树组成。7.子树是不相交的,除了根节点外,每个节点有且仅有一个父节点,一棵N个节点的树有N-1条边。4.双亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点。6.树是递归定义的,任何一棵树是由根+N棵子树(N>=0)组成的。1.树是由根和子树组成的,是由分支节点和叶子节点组成的。3.叶节点或终端节点:度为0的节点。

2024-08-22 22:56:31 317

原创 力扣622.设计循环队列

因为循环队列空间大小固定且重复使用新空间,使用数组来完成这一结构。

2024-08-05 20:48:42 241

原创 力扣20.有效的括号

取到右括号,与距离最近的左括号匹配。

2024-07-31 19:10:14 261

原创 力扣142.环形链表 II

找进环点 快慢指针相遇后慢指针与头指针以相同的速度移动,会在环的起始点相遇。

2024-07-29 17:36:41 417

原创 力扣141.环形链表

快慢指针,快指针的速度是慢指针的二倍,相遇即有环。

2024-07-29 16:14:13 280

原创 力扣138.随机链表的复制

给出一个我认为很巧妙的解决方案

2024-07-29 10:57:52 303

原创 leetcode 面试题17.04.消失的数字

写了两种方法满足O(n) 用的C语言

2024-06-27 05:00:00 306

原创 qt报错处理

今天发现qt的ui里面有个类名拼写错了想修改 改了ui文件 cpp文件 .h文件还是报错invalid use of incomplete type 改了一天 最后发现qt creator无法自动修改ui_.h文件和.pro文件 用记事本打开项目文件夹的文件手动修改就可以了。还发现一个快速修改的方法:用vscode打开项目文件 用搜索功能搜你想改的名字 无脑都改掉就可以了。

2024-06-26 10:30:34 383

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除