c++全局变量的使用
2008-06-01 10:23
169 查看
昨天看了新泰科技的笔试题。
第一个感觉...下届的基础太差。
然后发现一个有趣的题:c++全局变量在其他的cpp文件中怎么使用?
我的第一感觉是直接使用。不过感觉加"include"和"::"这样回答更好,顺便问了下同寝的人。发现完全不同的答案,他说要使用每一个cpp里都要加extern...我俩僵持不下,于是开启vs2005,开始编程验证。然后发现如果是一个cpp文件,怎么做都是对的。如果两个或多个cpp文件,正确的格式是这样的
oo.h中
#ifndef OO
#define OO
extern int a;//注意这里一定不能赋值
#endif
oo.cpp中
#include <iostream>
using namespace std;
int a = 10;//定义a变量
void func(){ a = 20;cout << a;}
xx.cpp中
#include <iostream>
#include "oo.h"
using namespace std;
int main()
{
cout << a;//这里a打印10这说明oo.cpp中的a = 10先被执行。
func();
}
这好像是一种正确的做法,不知道还有没有其他做法
第一个感觉...下届的基础太差。
然后发现一个有趣的题:c++全局变量在其他的cpp文件中怎么使用?
我的第一感觉是直接使用。不过感觉加"include"和"::"这样回答更好,顺便问了下同寝的人。发现完全不同的答案,他说要使用每一个cpp里都要加extern...我俩僵持不下,于是开启vs2005,开始编程验证。然后发现如果是一个cpp文件,怎么做都是对的。如果两个或多个cpp文件,正确的格式是这样的
oo.h中
#ifndef OO
#define OO
extern int a;//注意这里一定不能赋值
#endif
oo.cpp中
#include <iostream>
using namespace std;
int a = 10;//定义a变量
void func(){ a = 20;cout << a;}
xx.cpp中
#include <iostream>
#include "oo.h"
using namespace std;
int main()
{
cout << a;//这里a打印10这说明oo.cpp中的a = 10先被执行。
func();
}
这好像是一种正确的做法,不知道还有没有其他做法
相关文章推荐
- 记C++坑:1.被自己坑了一次的全局变量使用
- c++全局变量使用中的一些注意事项
- C/C++多文件共享全局变量时,使用extern的规范
- c++全局变量的声明和使用
- 记C++坑:1.被自己坑了一次的全局变量使用
- C++中全局变量如何使用
- C++如何定义多个文件使用全局变量
- 【ThinkingInC++】10、全局变量的使用
- C++使用全局变量
- C++全局变量在多个源代码文件中的使用
- c++导出全局变量给lua使用
- 在c++头文件中使用static修饰的全局变量
- C/C++全局变量的使用
- 论“使用C++非内置全局变量的风险”
- c++全局变量,多模块使用
- C++全局变量在多个源代码文件中的使用
- c++ 使用全局变量的方法多个文件
- C++中使用全局变量方法
- c/c++中静态局部变量以及全局变量的使用(转)
- C++ 全局变量、静态全局变量、局部变量、静态局部变量使用归类