变量
变量的基本形式是:首先是类型说明符,随后紧跟有一个或者多个的变量名组成的列表,其中含有多个变量名时用逗号隔开,最后以分号结束。
int sum = 0;
string first_name,last_name;
变量命名规范:
(1)变量名称一般用小写字母
(2)自定义的类名一般首字母大写
(3)如果变量名由多个单词组成,则单词之间最好有明显区分
引用
引用是为对象起了另外一个名字,所有引用并不是对象,它只是一个已经存在的对象所起的另外一个名字,通过声明为&的形式定义引用类型。
Student student("baxiang",26);
Student &refStudent = student;
student.show();
refStudent.show();
声明为引用的变量必须初始化,但是初始化的值必须是一个对象。
string &rName = "test1";// 错误
一般在初始化的时候,初始化值会被拷贝到新建的对象中,引用对象和被引用对象的的初始化在一起,而不是拷贝一个新的初始化给引用,也就是引用是和被引用对象共用一块内存地址。
string name = "test";
string &rName = name;
string &othName = rName;
指针
与引用类似,指针也同样实现了对其他对象的一个间接访问,定义指针的方式是在变量前面在上星号*;
int *value,*result;
float *height;
指针存放的是对象的地址信息,要想获取对象的地址需要使用取地址符&
string test = "test";
string *testPoint = &test;
如果指针指向了一个对象,需要通过解引用符号(*)来访问当前指向的对象
cout << *testPoint<<endl;
const限定符
我们有时候希望我们定义的变量的值不能被修改,为了满足这个需求,我们可以使用关键字const对变量类型进行限制
const int buffSize = 1024;
buffSize = 512;//错误, 无法修改
在程序编译的时候遇到const变量会对用到该变量的地方都替换成对应的值,也就是编译器会找到用到buffSize的地方然后用1024替换掉。
默认情况下,const变量被设定为仅在文件内有效,当多个文件中出现同名的const变量的时候,其实会在不同文件中分别定义独立的const变量。如果需要实现文件共享,这种情况我们不希望编译器为每个文件都生成独立的变量,即在一个文件中声明其他文件都可以使用。解决的办法就是在const变量不管在声明还是在定义都需要加上关键字extern.
extern const int buffSize = 1024 // 在file_1.cpp 初始化一个常量
extern const int buffSize // 在file_1.h 只能够定义常量
static静态成员
静态数据成员在定义或说明时前面加关键字static。
静态成员初始化与一般数据成员初始化不同。静态数据成员初始化的格式如下:
<数据类型><类名>::<静态数据成员名>=<值>
网友评论