- 整理思维导图
- 有以下定义,说明哪些量可以改变哪些不可以改变?
const char *p;
const (char *) p;
char *const p;
const char* const p;
char const *p;
(char *) const p;
char const* const p;
3.总结命名空间使用时的方式和注意事项
1.
2.
const char *p; 内容不可变,地址可变
const (char *) p; 内容不可变,地址可变
char *const p; 内容可变,地址不可变
const char* const p; 内容不可变,地址不可变
char const *p; 内容不可变,地址可变
(char *) const p; 内容可变,地址不可变
char const* const p; 内容不可变,地址不可变
3.
命名空间使用时的方式和注意事项;
定义:namespace +名字+{ };
使用:::叫做域限定符,指定访问的域;
注意事项:
1.全局引入:
全局引入的位置,在命名空间的下方,主函数的上方。格式:using 命名空间名::标识符名
using namespace 命名空间名:
2.局部引入部分命名空间中的标识符:
using A::fat; 在哪使用在哪展开/引入
cout << A::age <<endl;
3.多个命名空间冲突问题:
1)不同时全局引入两个命名空间
2)在命名空间和标识符冲突时,使用域限定符,来标识使用哪一个命名空间。
4.如果全局变量和命名空间冲突:
使用命名空间名+域限定符,如果访问命名空间中的内容A::变量名
如果想要访问全局变量::变量名
5.匿名空间:
如果全局变量和匿名空间中的变量重复,系统会把他们和并成一个变量,值以全局变量的为准
6.在命名空间外定义函数:
C++中支持在命名空间内只写函数的声明,在命名空间外写函数的定义,需要给函数名加上域限定符和命名空间。
7。嵌套的命名空间: 调用方法 A::B::