- 虚函数(多态)、纯虚函数
- 父类和子类的继承 如何实现
- stl库 有好多种容器
比如:vector - 类型转换函数 cast转换 四种:const cast、static cast、 dynamic cast、reinterpret cast
- const define区别 都是定义常量,define在编译时就确定了这个常量,const是在运行中。define不能调试,且消耗内存空间太大所以不建议用。define max,const+数据类型,比如const int。define又叫宏变量
- static 静态变量 比如 static int a=10 存在了静态存储区。一:修饰全局变量为静态变量全局变量,整个文件都可以调用,其他文件也可以调用;静态变量是只能在本文件使用。
二:修饰局部变量变成局部静态变量,局部变量 块里,局部静态变量,离开作用域后,内存不会被销毁。
三:修饰函数变为静态函数,修饰后函数只能在该页面调用
extern 修饰函数 一般函数默认加了extern,表示可以被改文件的其他文件可以用
四:在class里使用,变为类的静态成员,该页面可以共享,用作两个类里面的数据交换
五:静态成员函数 在类里面 static function a - c++内存分区
五大区,从上到下分别是 栈、堆、自由存储区、静态存储区、常量区https://blog.csdn.net/jj2060/article/details/44117315 - 智能指针 四种
auto point、unique point、dynamic point
作用:用指针的话,调用完了如果不销毁会造成内存泄漏,智能指针是个类,有自己的析构函数,不会内存泄漏 - 类的构造函数和析构函数
构造函数:所有类都有自己的构造函数,定义这个类是什么
拷贝构造函数-用现有的对象去定义新的对象
析构函数:和构造函数对应,用来销毁成员函数,也是类必须有的 一般都是虚函数,为什么?
如果是作为父类或子类,那么析构函数必须是虚函数。
因为父类不知道具体是什么样去析构,真正的操作流程要在子类里面去实现。 - 指针和数组的区别
都是用来定义数组的 int a[]={} int *b={}
一.存储方式不同指针,保存的是数据的首地址;数组是保存所有的数据 二.数组可以直接访问数据,指针要先访问地址 三.自增方式不同 - 指针和引用的区别
引用是用&写的,int &b=a
指针有自己的空间,引用只是别名,没有自己的空间。sizeof函数 sizeof指针结果为4,sizeof引用,相当于是对被引用对象做sizeof,是被引用对象的大小
函数传参时,有指针传递和引用传递。函数传参,是指针参数,对他先进行解引用;如果是引用,就可以直接修改(函数传参方式)
指针是可以改变的,引用不可改变,默认是const
指针前面可以加const,引用因为默认是const,所以不能再加const - const指针和指针const
const *int a 常指针
int *const b 指针常量
常指针 指针本身是常量,指针指向的东西不可以改变,但是指向的东西自己的内容是可以变的
指针常量 指针指向的东西是常量,指向的东西不能变,但是指向谁是可以变的
c++小小准备
最新推荐文章于 2024-06-25 11:19:23 发布