C++ STL
C++陌生语法、原理,STL使用
海棠花开555
这个作者很懒,什么都没留下…
展开
-
set的基本操作
/*set/multiset会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复,而后者允许。1) 不能直接改变元素值,因为那样会打乱原本正确的顺序,要改变元素值必须先删除旧元素,则插入新元素2) 不提供直接存取元素的任何操作函数,只能通过迭代器进行间接存取,而且从迭代器角度来看,元素值是常数3) 元素比较动作只能用于型别相同的容器(即元素和排序准则必须相同)set模板原转载 2018-01-25 15:38:37 · 1460 阅读 · 0 评论 -
stl push_heap,make_heap,pop_heap,sort_heap的使用
stl中的堆默认是最大堆,要想用最小堆的话,必须要在push_heap,pop_heap,make_heap等每一个函数后面加第三个参数greater(),括号不能省略。1、make_heap:使序列变成堆原型:template void make_heap ( RandomAccessIterator first, RandomAccessIterator l转载 2018-01-23 15:48:45 · 306 阅读 · 0 评论 -
priority_queue 优先级队列的用法
priority_queue调用 STL里面的 make_heap(), pop_heap(), push_heap() 算法实现,也算是堆的另外一种形式。先写一个用 STL 里面堆算法实现的与真正的STL里面的 priority_queue用法相似的priority_queue, 以加深对 priority_queue 的理解 #include <iostream>...原创 2017-11-24 19:09:35 · 275 阅读 · 0 评论 -
C++详解
什么样的函数不能声明为虚函数?1)不能被继承的函数。2)不能被重写的函数。1)普通函数普通函数不属于成员函数,是不能被继承的。普通函数只能被重载,不能被重写,因此声明为虚函数没有意义。因为编译器会在编译时绑定函数。而多态体现在运行时绑定。通常通过基类指针指向子类对象实现多态。2)友元函数友元函数不属于类的成员函数,不能被继承。对于没有继承特性的函数没有虚函数的说法。3)构造...原创 2019-11-04 19:17:15 · 3192 阅读 · 0 评论 -
C++ 虚函数和虚函数表详解
在讲解虚函数之前需要先区分一下以下定义:重载,重写,重定义重载---同一个类中函数名相同,函数的参数列表不相同的两个及两个以上的函数就是函数重载。注意:函数的返回值不能作为函数是否重载的依据。 重写---是在子类继承父类的时候,对父类的虚函数进行了覆盖。重写会使程序发生动态联编,产生多态。 重定义---是在子类继承父类的时候,对父类的非虚函数进行了覆盖。面向对象设计语言具有----多态性...原创 2019-07-16 10:55:31 · 525 阅读 · 0 评论