C++系列
[Cpp基础] [03] 变量声明-定义及初始化
变量的"声明,定义"以及"初始化" 想要彻底理解这一部分的内容,你应该对OS/进程/虚拟内存/编译/链接过程有一定的了解,仅从语言层次学习是比较抽象的. 声明和定义 * 从编译的角度看: * 仅声明某个变量,那么就只创建了Symbol,这个Symbol对应的存储空间需要在后续的链接过程中resolve. * 定义某个变量,在创建Symbol的同时,编译器为其分配了存储空间, 这个存储空间可以被链接器reslove道引用这个Symbol的地方. * 对开发者而言: * 如果你希望使用某个已经存在的对象,那么就应该使用声明语句. * 每个定义语句都有"声明"的效果,不存在只定义不声明的语句. * 就C++而言,若语句仅有extern,且不含任何初始化部分,则该语句就是一个纯粹的声明,例如 * extern T &val;//纯声明 * extern T val;//纯声明 * extern