![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
艺多不压身_临危能救命
多学艺,多学习,准备时机,涅槃重生
予人方便,于己方便
展开
-
C++面试小积累(四)
new 和 malloc的区别 (1)malloc()是C/C++库函数,new是运算符 (2)可以认为new偏上层,malloc偏底层,new的底层也是调用malloc (3)new是运算符,因此可以重载 (4)new可以初始化,malloc只是分配内存空间 (5)new是偏应用层,因此new调用构造函数,delete调用析构函数 ...原创 2021-09-17 16:32:26 · 90 阅读 · 0 评论 -
C++面试小积累(三)
析构函数和构造函数是不是都可以用虚函数? 首先要明白,假如一个类中只声明了一个或多个虚函数。这个类中存放的是一个虚函数表,即存在一个指针指向这个虚函数表。因此,这个类的占用内存大小为一个函数指针的存储空间,一般为4个字节。 综上原因,如果一个类的构造函数是虚函数,那么由于这个类还没有实例对象,都是虚函数,内存怎么分配空间给这个类呢?那连这个类都没有,虚函数表也就是空谈了。因此,构造函数不能是虚函数。 再说说析构函数,析构函数不仅仅可以是虚函数,而且建议如果有继承的话,都要写成虚函数。这样防止内存垃圾的堆积,原创 2021-08-28 17:29:50 · 89 阅读 · 0 评论 -
C++面试小积累(二)
虚函数相关 C++面向对象程序设计有三大思想:抽象、继承、多态 其实抽象和继承都是为了多态服务的。 因为需要多态,怎么是多态呢?龙生九子,九子不同。这就是C++多态想要实现的目的。所以在类里面定义一个虚函数啊,这个虚函数在被继承的时候呢可以被子类覆盖。这样,子类跟子类就产生了不同。这就是继承的魅力了。 再看看抽象: 虚函数有虚函数和纯虚函数之分。只有纯虚函数的类是抽象类,抽象的概念就出来了,这样的类,不能直接生成实体对象,需要先继承,在子类中生成子类的对象。这样的好处在于,纯虚函数相当于一个接口。大家用同一原创 2021-08-28 17:05:29 · 65 阅读 · 0 评论 -
C++面试小积累(一)
什么是左值引用,什么是右值引用? 答:C++中 符号 &&就是右值引用, &是普通的左值引用,说的直白一点,他们两个其实就是:左值是可以放在赋值号=左边的值, 右值是只能放在=右边的值, 比如 int a = 2; int &b = a; //这是左值引用 int && rb = 10; //这是右值引用 rb 其实就是临时的值,不存在内存存储空间当中 const 因为一旦赋值进不能再赋值,因此一般被称为右值引用。 右值引用的好处就是,右值不占用内存原创 2021-08-27 21:24:14 · 83 阅读 · 0 评论 -
记录心得---1
我们对于学习很难得知识点,今天突然看到别人的博客里写的,我觉得很有用,他的原话是:“我们学习一个知识点,必须要从一个最基本的定义出发,然后再慢慢剖析其内部潜在的规律,再而就是与生活结合起来分析,达到共鸣,那么这个知识点就算搞定了。我想说说“共鸣”:为什么你看一部泡沫剧不困,看到大半夜还想继续看,但是如果让你看一集某某的教程,你噼里啪啦的,就睡着了,这是因为泡沫剧与你的生活中有很多的交叉点,我们管它叫共鸣,所以一个知识点,你要是理解不了,你找身边的例子,或者融入到生活中去,那么这个看似很难的问题就迎刃而解了”原创 2021-01-10 10:12:36 · 84 阅读 · 0 评论