C++之一个定义原则

什么叫定义,如果你声明了一个变量而不初始化,那叫声明,如果你初始化,那就叫定义了。C++规定你只能定义一次,否则那就是多重定义了。

为此,C++有两种声明方式可供选择。

1、其实就是定义,这一行为会自动给这个变量分配内存空间并填值;

2、另一个就是声明了,这并不分配内存空间。

这里不得不提一个引用型声明,就是加上extern的声明,如果你想定义的话,那只能在一个文件中进行定义,这里所说的是带上extern关键字。如果你想在别的文件中使用的话,也一定要加上extern,这代表它是从别的文件中引用来的。

这里面涉及到了一个情况,那就是在一个源文件中你已经用extern关键字引入了一个外部变量,但是你在该源文件的函数里面又用extern关键字引入了该变量,这个就叫做外部变量的再声明,那么这有什么用呢?其实,这没啥用,因为你改变的都是那个变量,如果你用解引用操作符来查看的话,它们的地址都是一样的。

当然,如果你在函数内部再定义一个同名变量的话,那么这个同名变量其实是另一个变量,不信你就取地址来查看一下。

过度使用全局变量是很不好的习惯,因为这不符合封装特性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容