1. 谈谈你对命名空间的理解
1.namespace 是一个关键字:随着工程量的增加,变量命名上不可避免出现重名,防止名称冲突 (在不同的命名空间中,即使 2 个变量名相同,也是 2 个不同的变量),在实际工作中,基本都 使用标准命名空间
2.命名空间只能 全局范围内 定义,不能定义在函数内部
3.命名空间内, 可以存放 变量、函数、结构体、类;也可以嵌套其他的命名空间 命名空间可以 匿名(一般不这样使用),类似静态全局变量
4.命名空间是可以 起别名 的。
2.谈谈指针和引用的区别
1. 引用是给变量起别名,内部实现是指针常量 (int* const ref = &a), 其可以简单的理解为本体指针存 放的是变量的地址
2. 引用的本质是指针常量,其指向不可修改,而指针可以改变指向
3. 引用创建的同时 必须初始化 ,指针创建的时候可以不必初始化 引用不能为空,指针可以为 NULL
4. “引用变量 ref“的内存单元保存的是"被引用变量 a "的地址 sizeof(引用) = 指向变量的大小;sizeof(指针) = 指针本身大大小
5. 引用使用的时候无需解引用,指针需要解引用 指针和引用“自增/自减运算“意义不一样
6. 在同等需求下,函数传参,引用可以将一级指针
3.谈谈对内联函数的理解
1.宏函数缺陷 1:需要将实现“