摘要:
1、左值和右值 左值:指有名字的变量,可以被赋值,可以在多条语句中使用。 右值:临时变量,没有名字,只能在一条语句中出现,不能被赋值。 2、左值引用 左值引用:符号‘&’,是变量的别名。 3、右值引用 右值引用:为了和左值区分,右值的声明符号为‘&&’。 #include <iostream> vo 阅读全文
摘要:
虚函数表: 一般位于对象的最前端,但是并不一定是这样的,这是由编译器决定的。 C++中虚函数是通过一张虚函数表(Virtual Table)来实现的,在这个表中,主要是一个类的虚函数表的地址表;这张表解决了继承、覆盖的问题。在有虚函数的类的实例中这个表被分配在了这个实例的内存中,所以当我们用父类的指 阅读全文
摘要:
new和delete操作符重载: 内存管理运算符 new、new[]、delete、delete[] 可以进行重载,重载形式即可以是类的成员函数,也可以是全局函数。一般情况下,只有在需要自己管理内存的时候重载运算符。 以成员函数的形式重载new运算符: void* className::operat 阅读全文
摘要:
https://www.jianshu.com/p/e4919f1c3a28 什么是智能指针? 智能指针是一个RAII(Resource Acquisition is initialization资源获取即初始化)类模型,用于动态分配内存。它提供所有普遍指针提供的接口,却很少发生异常。在构造是,它分 阅读全文