C++

每天都感觉代码在变得飘逸,但bug开始更加阴魂不散。你能相信在看了一个月C++后发现变量的声明和定义竟然开始模棱两可,不能说是水平太渣,只能说是底蕴不够,修为不够妖艳。废话不扯,先搞搞再说。

   变量初体验:变量有两个属性:作用域、生命周期。初学者往往大气磅礴,不在意这些细节,但总会觉得不求甚解,就是学不会。事实上,这些应该是最基本的,下意识的反应,否者bug会异常飘逸。

  变量的生命周期即变量的存储持续时间,就是变量在内存里存在的时间。一般来说现在的高级编程语言和编译器,以及操作系统的安全机制会在程序退出后清理所有的内存,内存泄漏的问题不会发生在程序开闭之后。这并不是说内存泄漏不需要在意,应为很多程序一旦开始就根本停不下来,如果你肆意挥霍内存,只知道new,却不知delete那么万贯家财,倾刻坍塌。

  声明变量的位置影响着变量的生命周期和作用域,但是c++有一些矛盾的地方:声明决定了static变量的作用域,但决定不了static变量的生命周期。

  一个源文件只能访问另一个源文件中声明的全局变量。extern typename variablename; 但不能初始化外部声明。

  变量的声明和定义:(直接干货)声明就是说一声的意思,告诉编译器有这个东东。那么在说一声的  时候会是这两种情况:a.变量已存在:他在外面,我要用,打个招呼而已;b.变量不存在:告诉编译器我来了,这时一般会分配空间(也就是定义了);或者,我以后要用,先说一声,打个招呼。变量的定义就是给变量分配内存,由上知(红色的)1.变量的声明包括变量的定义;2.定义一定会给变量分配存储空间,但声明不一定分配存储空间。

  但是你能忍受 (string text;cin >> text)?或许一个不大的地方就可以是一个你想要的家,可是这货有多大的内存????拼爹的时代,这货来历不一般,或许只有他妈知道,构造函数,重载的<< 运算符。可惜水平有限,精力不足,不能详细介绍,等以后解决了再写。

函数的声明和定义:

类的声明和定义:

类的定义是定义一种类型,不是定义一种变量(在此处应为对象、实体)。

原文地址:https://www.cnblogs.com/OrdinaryMiracle/p/4411672.html