Aurilia厄瑞莉娅 (@Aurilia)【c++从入门到放弃】const与类型转换 中发帖

该帖是我入门c++11费曼学习副产物,如有谬误,望佬友指正,不胜感激。 

其他c++姊妹帖:

❀ 命名空间
✿ const与类型转换


◢ 声明与定义
c++中,一个数据变量通常在内存中占有一片空间,并有与之对应的标识符绑定到这个空间。
那么对于数据变量来说,
声明就是让编译器知道有这么个符号存在;
定义就是声明后,还要绑定到对应的内存空间上;
int a; // 定义
extern int b; // 声明

上述代码中,第一行直接在内存上分配一个int类型的空间绑定到符号a上,是定义。
第二行用extern表明这里只是声明一个符号b,其定义在本行之外,可能在本文件其他地方,也可能在其他文件中。
定义和声明的区别在于是否分配了对应的内存空间。
再看下述代码:
int a; // 定义,未初始化
int b = 1; // 定义,初始化

第一行中,虽然分配了空间,...