C++
ZechariahZheng
这个作者很懒,什么都没留下…
展开
-
C++中基类的析构函数为什么要用virtual虚析构函数
知识背景 要弄明白这个问题,首先要了解下C++中的动态绑定。 关于动态绑定的讲解,请参阅: C++中的动态类型与动态绑定、虚函数、多态实现正题...转载 2018-08-14 22:54:17 · 90 阅读 · 0 评论 -
C++中虚函数和纯虚函数
虚函数的作用:(虚函数是动态绑定的基础),是非静态的成员函数虚函数可以让成员函数操作一般化,用基类的指针指向不同的派生类的对象时,基类指针调用其虚成员函数,则会调用其真正指向对象的成员函数,而不是基类中定义的成员函数(只要派生类改写了该成员函数)如果不是虚函数,则不管基类指针指向的哪个派生类对象,调用时都会调用基类中定义的那个函数注:virtual只用来说明类声明中的原型,不能用在函数...原创 2018-08-12 22:03:12 · 146 阅读 · 0 评论 -
C++ STL之map与unordered_map
mapmap是STL的一个关联容器,它提供一对一(第一个为key,每个key只能在map中出现一次,第二个为value)的数据处理能力。map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),所以在map内部所有的数据都是有序的,且map的查询、插入、删除操作的时间复杂度都是O(logN)。在使用时,map的key需要定义operator<。unordered_mapunord...原创 2018-08-13 23:00:01 · 213 阅读 · 0 评论 -
C与C++中二维数组的动态分配内存方法
最近一直被二维数组的动态内存分配和赋值搞得有点昏,还是记下来,供以后查看。一、C++中动态分配与释放二维数组1、二维都未知#include <iostream>using namespace std;int main(){ int **a = NULL; int Xlength, Ylength; cin >> Xlength ...原创 2018-08-17 13:22:22 · 17360 阅读 · 1 评论 -
C++类中静态变量和静态方法的使用
转自:https://www.cnblogs.com/ppgeneve/p/5091794.html静态成员的提出是为了解决数据共享的问题。实现共享有许多方法,如:设置全局性的变量或对象是一种方法。但是,全局变量或对象是有局限性的。这一章里,我们主要讲述类的静态成员来实现数据的共享。 静态数据成员 在类中,静态成员可以实现多个对象之间的数据共享,并且使用静态数据成员还不会破坏隐藏的原则...转载 2018-08-20 10:24:27 · 6877 阅读 · 0 评论 -
STL 容器一些底层机制
转自:https://blog.csdn.net/TQH_Candy/article/details/52387714 1、vector 容器vector 的数据安排以及操作方式,与 array 非常相似。两者的唯一区别在于空间的运用的灵活性。arra...转载 2018-08-23 16:37:20 · 158 阅读 · 0 评论 -
C++中的lower_bound和upper_bound函数
转自:http://bbqub.cnblogs.com/p/7774756.html关于lower_bound和upper_bound共同点函数组成:一个数组元素的地址(或者数组名来表示这个数组的首地址,用来表示这个数组的开头比较的元素的地址,不一定要是首地址,只是用于比较的“首”地址)+ 一个数组元素的地址(对应的这个数组里边任意一个元素的地址,表示这个二分里边的比较的”结尾’地址)...转载 2018-08-21 23:33:11 · 1309 阅读 · 0 评论