自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 unordered_map unordered_set 与map,set的区别

3、unordered_map/unordered_set 的底层是使用哈希表实现的,遍历出来是无序的,增删查改的时间复杂度是O(1)对比性能来说,实际上,如果我们使用的环境支持C++11;可以看出,总体来说 unordered_map/unordered_set的速度较快,但对大的数据来说几乎没有太大差别。4、map和set是双向迭代器, unordered_map/unordered_set是单向迭代器。2、map/set的底层是使用红黑树实现的,遍历出来是有序的,增删查改的时间复杂度是O(logN)

2023-11-17 22:54:09 47 2

原创 C++ ->map知识点重要部分总结

上面例子中,进行了operator[str]++,即找到了就会返回水果对应的映射对象(次数)的引用,对它进行了++(即对key对应d1value进行++);如果找不到,就insert,即插入pair,这里的int()是0,返回映射对象的(次数)的引用进行了++.当map中的insert函数插入失败后,返回值应该是 **pair**型,第二个参数bool值在插入成功时返回true,失败时返回false。若插入不成功,就指向与待插元素冲突的数据。

2023-11-11 16:40:32 62 2

原创 多态之虚函数,虚继承相关问题

10、这里注意A* this=p,this->fun()满足多态的条件之一,父类对象的指针或引用去调用虚函数,指向p(B)对象调用p对象的虚函数。B、同一类不同对象共用一个虚表,不同类的虚表不同(子类拷贝父类虚表),如果子类重写父类的虚函数,那么虚表地址不同,反之相同。如b=d,c=d,d不仅要把_d的数据传过去,而且也有_a,那么需要通过基类A的偏移量来找到_a,即虚基表。如果没有virtual关键字,那么d._a就不知道找的是B类中的_a还是C类中的_a,数据冗余与二义性。标题3、虚基表存在的位置。

2023-11-04 17:04:49 38 2

原创 多态之虚函数

3、注意区分这里virtual与菱形继承中的区别,菱形继承是为了去完成虚继承,解决数据冗余和二义行,而这里是可以修饰原函数,为了完成虚函数的重写,满足多态的条件之一。(这里二者没有任何关联)4、多态的两个条件①虚函数的重写②父类对象的指针或引用去调用虚函数,那么多态如何实现的指向谁就调用谁的虚函数的呢。知识扩展:类对象 在创建的时候有*-vfptr的指针指向虚表,-vfptr就是虚表(对象的前四个字节的地址)值得注意的是,在多继承中,派生类的未重写的虚函数放在第一个继承基类的部分虚表中。

2023-11-03 16:56:15 25 1

原创 C++ 牛客--》栈的压入、弹出序列

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。链接:https://www.nowcoder.com/questionTerminal/d77d11405cc7470d82554cb392585106。3. pushV 的所有数字均不相同。

2023-10-29 01:42:58 61 4

中心主题.emmx

中心主题.emmx

2022-11-23

空空如也

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

TA关注的人

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