一、命名空间
1.书写格式为:namespace 命名空间名{
//变量,函数,类
};
2.引用方法:
(1)命名空间名:://变量、函数、类
(2)using 命名空间名:://变量、函数、类
(3)using namespace std;(将命名空间的全部变量引进来)
3.特殊的命名空间
(1)全局命名空间
我们所创建的显式命名空间都嵌在全局命名空间之中,在显式声明的命名空间之外声明的标识符都在一全局命名空间中。
(2)匿名命名空间
写法: namespace {
//变量,函数,类
};
作用:匿名命名空间(编译器会自动在内部生成一个唯一的名字)常被用来屏蔽不希望暴露给其他源 文件的标识符,就是将命名空间的名字符号给去掉,让其他文件找不到。
二.静态成员函数
静态成员函数只能引用属于该 类的静态数据成员或静态成员函数
三.const关键字
1.常对象:const 类名 对象名
2.常引用:const 数据类型 & 名字 (被引用的对象不能被更新)
3. 用const修饰的对象成员
(1)常成员函数:数据类型 函数名 (参数列表) const;
①常成员函 数不更新对象的数据成员
②const是函数类型的一个组成部分,因此在实现部分也要带const关键字
③const关键 字可以被用于参与对重载函数的区分
④常对象只能调用常成员函数,而不能调用其他的成员函数
(2)常数据成员:const 类型 名字
①const数据成员可以提供类内初始值, 也可以在构造函数初始化列表中进行初始化
4.常引用:const type& reference_name;(被引用的对象不能更改)
(1)非const的引用只能绑定普通的对象,不能绑定常对象
(2)常引用可以绑定到普通对象,也可以绑定到常对象, 通过常引用访问对象时,都只能把对象当作常对象,因此不能用常引用调用非const的成员函数