C++基础

声明与定义

声音与定义的区别在于,声明没有给变量分配空间,而定义则给变量分配了空间;定义也是声明

extern int i; // 声明但未定义
int i ; //声明且定义
extern double PI = 3.14;  //声明且定义

文件用于声明而不是定义。之所以这样的原因是有时候一个程序可能包括多个文件,若有两个以上的文件含有上述一个定义都会导致多重定义链接错误。
因为头文件包含在多个源文件中,所以不应该包含变量或函数的定义。

引用

引用是对象的另一个别名,并且在声音的时候就要初始化。

int value = 30;     //value = 30
int &ref = value;   //&ref = &value,即地址;ref = 30

因此在引用上的操作都是对作用在该引用绑定的对象上。

ref += 2;          //
cout<<value<<endl; // value = 32

而且需要注意的是,引用具有“如一性”,即当初始化后,其绑定的对象不可更改,不能再绑定另一个对象。

typedef名字

typedef用于定义类型的同义词。

typedef double wages;
typedef int exam_score;

wages hour, week; // double hour,week;
exam_score result; // int result;
posted @ 2015-09-12 23:13  mlhy  阅读(114)  评论(0编辑  收藏  举报