1 :关于申明跟定义
在程序使用变量之前必须先申明或者定义变量!
因为C++程序很少可能可以在一个文件来完成,当需要多个文件实现时,而又不可避免的需要使用到共同的变量,这时就用到变量的申明。
变量的定义:确定变量的类型,给变量分配相对应的内存地址,同时还可以初始化。
变量的申明:告诉程序这个变量在其他文件中有定义。
如int i; //定义
extern int i; //申明,告诉程序i是一个int类型,在其他文件中定义
extern int i=3; //定义,虽然有extern关键字,但具有初始化部分,给变量分配内存空间即初始值。
变量只能定义1次,但可以申明多次。
2:关于名字的作用域
全局作用域(全局变量),局部作用域(局部变量),语句作用域(如for(int i=0;;)中的i)
#include <iostream>
using namespace std;
int i=3;
int main()
{
int i=2;
cout<<i<<endl;
}
此时输出为2,局部变量的定义屏蔽全局变量。
3:const限定符
const对象是一个常量,定义时必须初始化,其值以后不允许修改
const对象默认为文件的局部变量
非const对象默认为const,若要const变量在其他文件中访问,必须显示的指定为extern
4:引用--变量的别名
const引用时指向const对象的引用,能读取,不能修改
非const引用只能绑定到非const相同类型的对象