1.1 命名空间 namespace
命名空间,类似一个域
namespace Name
{
} //此处和class类不同,无分号。
1.1.1 作用域限定符号 ::
Name::t;
1.1.2 命名空间的使用方式
1.加命名空间和作用域:【Name::t;】,用于单次使用
2.使用using:【using Name::t;】, 此处只有命名空间中的t可以不加域的多次使用,且优先使用Name中的t
3.使用【using namespace Name;】 ,全局无限次使用
1.2 缺省参数
函数定义时指定一个值(类似初始化),优先被覆盖
1.2.1 全缺省参数
void fun(int n = 3, int b = 4, int c = 5)
{…};
1.2.2 半缺省参数
void fun(int n, int b = 4, int c = 5)
{…};
注:缺省参数不可插入在函数定义值中间。[void fun( int n = 3, int b , int c = 4) //error ]
缺省值必须是常量和全局变量。
缺省值不能在函数声明和定义中同时出现。
1.3 函数重载
函数名相同的函数,功能类似的函数。
1.3.1 函数重载类型
1.函数名相同,返回值相同,参数类型不同。
2.函数名相同,返回值相同,缺省参数不同。
3.函数名相同,返回值相同,参数类型位置不同。
注:函数名相同,参数类型相同,返回值不同是不可以运行的。
1.4 引用 &
引用的C++底层逻辑是指针。
引用在被定义时就需要赋初始值。(引用可以理解为变量的别名,所以需要先知道变量才能引用,故而引用时要初始化值,无法初始化。)
一个变量可以有很多个引用。(一个人可以有很多别名。)
1.5 内联函数 inline
内联函数必须短小,如果函数内代码过多,即使使用了内联定义函数,依然按照普通函数运行。
内联函数可以提升运行速度。
明确写在类里的函数是内联函数,写在类外的函数,但是也是类中定义过的,不是内联函数。