以下是我在看书时对C++做的零碎总结:
函数
1、变量
全局变量(联系性):自动初始化为0
局部变量(独立性):在用之前必须初始化,否则结果不可预料。执行完该语句即死亡
静态局部变量(目的是延长局部变量的生命期):可以被自动初始化为0,只初始化一次。程序运行结束时,死亡——函数运行完成后,其值可以保留,但是不可见,留作下次使用。
2、参数传递
传值
传地址(指针)
传引用(引用)
3、返回值
有返回值:return语句
无返回值:无return语句,或return语句为空
4、内存空间
代码区:存放代码
全局数据区:全局变量和静态局部变量
堆区(通过new和delete使用该空间):动态数据,
栈区:局部变量
指令指针寄存器(控制):保存下一步要执行指令的地址
I/O流
输入流 提取操作,读操作,输入操作
输出流 插入操作,写操作,输出操作
对你而言,好比两条管道,输入流负责向你这里输入,输出流负责从你这里输出
缓冲区的类型
缓冲区分为三种类型:全缓冲、行缓冲和不带缓冲。
1、全缓冲
在这种情况下,当填满标准I/O缓存后才进行实际I/O操作。全缓冲的典型代表是对磁盘文件的读写。
2、行缓冲
在这种情况下,当在输入和输出中遇到换行符时,执行真正的I/O操作。这时,我们输入的字符先存放在缓冲区,等按下回车键换行时才进行实际的I/O操作。典型代表是键盘输入数据。
3、不带缓冲
也就是不进行缓冲,标准出错情况stderr是典型代表,这使得出错信息可以直接尽快地显示出来。
堆内存的释放
C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]
例子:1、new与delete
2、new[]与delete[]
3、一般来说数组都用delete[]来释放,但是指针只有在是某个类的对象时才用delete[]释放
以下是我画的思维导图,画的不是很全,而且感觉还是很乱,还需要好好整理