基础1:命名空间使用
一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。内部可以直接使用,外部使用时必须指定。
命名空间使用的三方式
①加命名空间名称及作用域限定符
int main()
{
printf("%d\n", N::a);
return 0;
}
②使用using将命名空间中的成员引入
using N::b;
int main()
{
printf("%d\n", N::a);//a没有用using引入,所以要加命名空间名称及作用域限定符
printf("%d\n", b);//b被引入了可以直接使用
return 0;
}
③使用using namespace 将整个命名空间引入
using namespce N;
int main()
{
// 命名空间N中的a和b都可以直接使用了
printf("%d\n", a);
printf("%d\n", b);
Add(10, 20);
return 0;
}
C语言基础内容涉及较少,直接总结C++知识点和语法,以及各种注意事项,帮助大家迅速掌握C++
补充:引用和指针的区别
语法概念上引用就是一个别名,和其引用实体共用同一块空间;而指针就是存放地址的变量。在底层实现上,引用是按照指针方式来实现(指针访问对象是显示解引用,而引用是编译器自己做类似处理)。
- 引用在定义时必须初始化,指针没有要求
- 引用在初始化时引用一个实体后,就不能再引用其他实体,而指针变量可以在任何时候指向任何一个同类型实体
- 没有NULL引用,但有NULL指针
- 引用比指针使用起来相对更安全
- 引用自增即引用的实体增加1,指针自增即指针向后偏移一个类型的大小
- 在sizeof中含义不同:引用结果为引用类型的大小,但指针始终是地址空间所占字节个数(32位平台下占4个字节,64位平台8个字节)
- 有多级指针,但是没有多级引用
- 访问实体方式不同,指针需要显式解引用,引用编译器自己处理