您的位置:首页 > 编程语言 > C语言/C++

C++中全局变量的问题

2009-08-26 01:22 357 查看
全局变量应该在.cpp文件中声明,因为是要为它分配内存空间的。

如果在.h中声明,而在多个.cpp文件中都包含了这个.h文件,就会出现重复定义,引起连结错误

比如A和B两个类对应文件分别为 a.h, a.cpp , b.h , b.cpp

A类中需要定义一个全局变量foo 并在B类中访问这个全局变量

foo的定义需要在a.cpp中 , 不需要extern关键字, 直接 int foo; 即可

这样foo 因为是在cpp文件中定义, 编译器会分配好内存 并初始值为0

b.cpp文件中使用foo之前 要先声明 extern int foo

然后b.cpp 文件中对foo的操作的结果

在A类的对象访问foo时可以体现, 虽然容易导致数据混淆的更改, 但有时的确需要这样的全局变量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: