![](https://i-blog.csdnimg.cn/direct/0ffe3791bf4d46a98a1d35ed55450ae5.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++学习历程
文章平均质量分 92
记录在学校的自学之路
循环渐进Forward
学习编程第一步
展开
-
【C++的创新性】C++11语法颠覆你的认知了吗?
在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了 C++98称为C++11之前的最新C++标准名称。不过由于C++03主要对C++98标准中的漏洞 进行修复,语言的核心部分则没有改动,因此人们习惯性的把两个标准合并称为C++98/03标准。从C++0x到C++11,C++标准10年磨一剑,第二个真正意义上的标准珊珊来迟。原创 2024-08-26 00:23:41 · 2025 阅读 · 0 评论 -
【C++的剃刀】我不允许你还不会map和set
map和set原创 2024-08-12 15:16:21 · 2587 阅读 · 1 评论 -
【C++的剃刀】我不允许你还不会AVL树
最详细C++AVL树解释,二叉搜索树虽可以缩短查找的效率,但 如果数据有序或接近有序二叉搜索树将退化为单支树,查 找元素相当于在顺序表中搜索元素,效率低下。因此,两位俄罗斯的数学家G.M.Adelson-Velskii 和E.M.Landis在1962年 发明了一种解决上述问题的方法: 当向二叉搜索树中插入新结点后,如果能保证每个结点的左右 子树高度之差的绝对值不超过 1( 需要对树中的结点进行调整 ),即可降低树的高度,从而减少平均搜索长度。原创 2024-07-29 08:13:38 · 2884 阅读 · 21 评论 -
C++类和对象(终篇)
5. 静态成员也是类的成员,受public、protected、private 访问限定符的限制。3. 尽量使用初始化列表初始化,因为不管你是否使用初始化列表,对于自定义类型成员变量,它不属于外部类,更不能通过外部类的对象去访问内部类的成员。2. 注意内部类可以直接访问外部类中的static成员,不需要外部类的对象/类名。在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的。,参见友元类的定义,内部类可以通过外部类的对象参数来访。,不属于任何类,但需要在 类的内部声明,声明时需要加。原创 2024-04-26 18:58:43 · 1043 阅读 · 1 评论 -
【C++阅览室】C++三大特性之继承
继承在C++中是十分重要的,它在面向对象程序设计时使代码可以复用的重要手段。继承可以允许程序员在保持原有类的特性下进行拓展,增加新的功能,这样产生的类,称为派生类。继承呈现了面向对象程序设计的层次结构,体现了由简到繁的过程。在此之前,我们接触到的都是函数的复用,继承是类设计之间的复用。目录继承的定义继承基类成员访问方式的变化基类和派生类对象赋值转换继承中的作用域派生类的默认成员函数继承与友元继承与静态成员复杂的菱形继承及菱形虚拟继承编辑继承的总结和反思下面我们看到Person是父类,也称作基类。原创 2024-07-12 20:32:07 · 3723 阅读 · 23 评论 -
【C语言视角】数据结构之~二叉树
设二叉树的根节点所在层数为1,层序遍历就是从所在二叉树的根节点出发,首先访问第一层的树根节点,然后从左到右访问第2层上的节点,接着是第三层的节点,以此类推,自上而下,自左至右逐层访问树的结点的过程就是层序遍历。第一层是根结点,只有一个,所以2(1-1)=20=1。终端结点数其实就是叶子结点数,而一棵二叉树,除了叶子结点外,剩下的就是度为1或2的结点数了,我们设n1为度是1的结点数。终端结点数其实就是叶子结点数,而一棵二叉树,除了叶子结点外,剩下的就是度为1或2的结点数了,我们设n1为度是1的结点数。原创 2024-05-01 20:49:20 · 1309 阅读 · 18 评论 -
【C++阅览室】C++入门之过渡C语言
C++是一种面向对象的高级编程语言,其基C语言基础开发而来。原创 2024-05-21 18:04:20 · 1792 阅读 · 15 评论 -
【C++之剑】我不允许你还不会多态
多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如Student继承了Person。Person对象买票全价,Student对象买票半价。那么在继承中要。原创 2024-07-16 00:04:33 · 2244 阅读 · 28 评论 -
【C++的剃刀】我不允许你还不会二叉搜索树BST
二叉搜索树概念。原创 2024-07-22 07:51:20 · 2402 阅读 · 8 评论 -
【C++视角】C++之模板(初阶)
在学习C语言是经常会遇到一类问题--写各种被频繁调用的函数,这类函数不能被修改类型而导致需要反复写,十分繁琐。在C++中,祖师爷为我们创建了一种模板,能够填充各种类型而自动生成各种类型的代码。这种也被称为泛型编程,而泛型编程的主要利用就是模板。模板:在C++中模板分有两种--类模板和函数模板。函数模板:函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。原创 2024-04-27 11:21:39 · 1195 阅读 · 2 评论 -
【C++阅览室】C++之string(字符串)
1. string是表示字符串的字符串类2.该类的接口与常规容器的接口基本相同,再添加了一些专门用来操作string的常规操作。3. string在底层实际是:模板类的别名,4.不能操作多字节或者变长字符的序列。我们可查阅官方文档进一步了解~kw=stringstring类的常用接口说明(常用的接口)1.string类对象的常见构造函数名称功能说明string()(重点)构造空的string类对象,即空字符串(重点)用C-string来构造string。原创 2024-05-07 12:39:26 · 1340 阅读 · 24 评论 -
【C++阅览室】C++之Vector(容器)
就时间而言,这是 一个相对代价高的任务,因为每当一个新的元素加入到容器的时候,vector。从上述两个例子中可以看到:SGI STL中,迭代器失效后,代码并不一定会崩溃,但是运行结果定定不 对,如果it不在begin和end范围内,肯定会崩溃的。是表示可变大小数组的序列容器,可以使用连续储存空间存元素,这代表可以使用下标访问容器内的元素,和数组一样但又比数组高效,体现在可以自动控制容器大小。位置之后的元素会往前搬移,没有导致底层空间的改变,理论上讲迭代 器不应该会失效,但是:如果pos。原创 2024-05-10 17:42:24 · 1689 阅读 · 15 评论 -
【数据结构阅览室】初阶数据结构之排序
假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次 序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排 序算法是稳定的;所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的 数据元素排完。原创 2024-05-15 12:44:27 · 1453 阅读 · 20 评论