C/C++知识点分享(4)
2019-06-30 本文已影响2人
307656af5a04
1. 什么是“引用”?申明和使用“引用”要注意哪些问题?
解析:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。
申明一个引用的时候,切记要对其进行初始化。
引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。
声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。
不能建立数组的引用。
12.include <filename.h>和include “filename.h”的区别?
解析:<>是从标准库路径搜索 ;
“”是从用户当前工作目录开始,找不到,在到标准库开始寻找。
13.Heap和Stack的区别?
解析:Heap是堆,Stack是栈;
栈的空间由操作系统自动分配和回收,而堆上的空间由程序员申请和释放;
栈的空间大小较小,而堆的空间较大;
栈的地址空间往低地址方向生长,而堆向高地址方向生长;
栈的存取效率更高;
程序在编译期间对变量和函数的内存分配都在栈上;
且程序运行过程中对函数调用中参数的内存分配也是在栈上。