1、声明VS定义
·声明需加extern,若加了extern又赋了初始值,则变为定义
·不能在函数体内部初始化由extern标记的变量
2、标识符
·不能连续出现2个下划线,也不能以下划线紧接大写字母开头
·定义在函数体外的标识符不能以下划线开头
·规范:
类一般大写字母开头
变量名小写
3、引用
·引用必须初始化,且从一而终,一旦定义,就无法再绑定其它对象
·因为引用本身不是对象,不能定义引用的引用,也不可定义指向引用的指针
4、指针
·指向指针的引用,int *&r=p,r是一个指向指针的引用
5、const
·const对象必须初始化
·const对象仅在文件中有效,若想在多文件中有效,加extern
·引用若绑定const对象,则不可修改,如const int &r1
·指向常量的指针可以改变指向的地址,但不能改变指针地址里的内容:
如const int *p1中,p1可以改变,但*p1不能改变
·const指针必须初始化,且初始化后指针本身就不能变了:
如const int *const p1中,p1不能改变
·顶层const与底层const
·若认定变量是常量表达式,则声明为constexpr类型