![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++进阶
文章平均质量分 81
ScarboroughFair#
这个作者很懒,什么都没留下…
展开
-
C++ c++11(上)
1. 左值引用只能引用左值,不能引用右值2. 但是const左值引用既可引用左值,也可引用右值。原创 2022-08-27 13:26:26 · 684 阅读 · 0 评论 -
C++ 哈希的应用(补充)
【代码】C++ 哈希的应用(补充)原创 2022-09-01 18:19:04 · 531 阅读 · 4 评论 -
C++ 哈希桶模拟实现(补充)
{{//构造函数{}};{public://待写private://有效数据的个数};}原创 2022-08-31 01:22:58 · 278 阅读 · 3 评论 -
C++ 哈希表模拟实现(补充)
{{};{private://用于增容};}后者直接用vector存储{{};{public://待写private://用于增容//存储的有效数据的个数};}原创 2022-08-29 23:36:19 · 531 阅读 · 0 评论 -
C++ 哈希
在 C++98 中, STL 提供了底层为红黑树结构的一系列关联式容器,在查询时效率可达到 $log_2N$,即最差情况下需要比较红黑树的高度次,当树中的节点非常多时,查询效率也不理想。最好的查询是,进行很少的比较次数就能够将元素找到,因此在C++11 中, STL 又提供了 4 个unordered系列的关联式容器,这四个容器与红黑树结构的关联式容器使用方式基本类似,只是其底层结构不同,本文中只对unordered_map 和 unordered_set 进行介绍,unordered_multimap和原创 2022-08-27 11:19:12 · 2734 阅读 · 0 评论 -
C++ AVL树(补充)
代码】C++ AVL树(补充)原创 2022-08-04 17:45:37 · 302 阅读 · 0 评论 -
C++ map和set(补充)
也可使用重载的箭头,重载的箭头返回数据的指针,数据的指针是一个pair*,pair*再加一个箭头就可以访问first和second。使用erase的前提是set中需要用需要删除的数据,如果没有找到需要删除的数据,使用erase时会出现报错。整体的返回值是迭代器节点里面的数据,节点里面的数据是一个pair。前者返回区间的[,后者返回区间的)。调试可知,返回3所在位置的迭代器,set中没有6时返回7所在位置的迭代器。upper_bound的使用返回>x位置的迭代器。综上,返回>=val的位置迭代器。......原创 2022-08-01 12:18:10 · 225 阅读 · 1 评论 -
C++ map和set
问题:当key不在map中时,通过operator获取对应value时会发生什么问题?注意:在元素访问时,有一个与operator[]类似的操作at()(该函数不常用)函数,都是通过key找到与key对应的value。原创 2022-08-12 21:35:38 · 1141 阅读 · 2 评论 -
C++ 二叉搜索树(补充)
要删除的节点只有左/右孩子节点的情况,无孩子节点的情况要删除的节点左右孩子节点都不为空的情况(即完成else中的内容),找左子树的最大节点或者右子树的最小节点代替。原创 2022-07-27 17:27:03 · 392 阅读 · 1 评论 -
C++ 二叉搜索树练习
按照中序的方式遍历,左指针的链接方式如图。原创 2022-07-31 11:25:36 · 368 阅读 · 0 评论 -
C++ 二叉搜索树
或者是具有以下性质的二叉树若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树。...原创 2022-07-23 12:29:12 · 578 阅读 · 1 评论 -
C++ 多态(补充)
说明在普通场景下,析构函数是不是虚函数没有影响。若定义一个既可指向父类对象又指向子类对象的指针,不构成重写时,存在内存泄漏的问题。函数重载是指在一个类中声明了多个名称相同但参数列表不同的函数,这些参数可能个数、顺序、类型不同,不能靠返回值类型来判断。纯虚函数不只可以声明,还可以定义,但是没意义(即使定义实现出来也无从调用,体现了接口继承)针对虚函数重写,尽量使用协变,严格按照重写要求来,这样代码更容易维护。不构成多态,就是按指针类型去调用的。函数重载是指子类重新定义基类的虚函数。5.虚函数重写的例外。...原创 2022-07-20 23:28:28 · 269 阅读 · 1 评论 -
C++ 多态
多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。对于常见的买票程序,比如Student继承了Person。Person对象买票全价,Student对象买票半价。在继承中要。原创 2022-07-19 19:51:59 · 336 阅读 · 1 评论 -
C++ 继承(补充)
目录继承关系赋值兼容规则 继承中的作用域派生类的默认成员函数构造函数 拷贝构造函数派生类的 operator=派生类的析构函数 思考题:设计出一个类A,让这个类不能被继承继承与友元复杂的菱形继承及菱形虚拟继承*C++编译器如何通过虚继承解决数据冗余和二义性问题?(通过内存调试观察) 以学生类和老师类为例 基类的其他成员在子类的访问方式取小 public>proteced>private,基类的私有成员在派生类中不可见。 私有成员和私有继承 出现错误 在类外收到访问限定符的限制,但是在类里面就原创 2022-07-14 11:24:29 · 241 阅读 · 0 评论 -
C++ 继承
目录1.继承的概念及定义1.1继承的概念1.2 继承定义 1.2.1定义格式1.2.2继承关系和访问限定符1.2.3继承基类成员访问方式的变化2.基类和派生类对象赋值转换3.继承中的作用域4.派生类的默认成员函数5.继承与友元6.继承与静态成员7.复杂的菱形继承及菱形虚拟继承8.继承的总结和反思9.笔试面试题1.继承的概念及定义 1.1继承的概念继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,...原创 2022-05-06 17:14:33 · 147 阅读 · 0 评论