C++const对象如何在多文件之间共享【转】
(2024-09-10 12:29:42)
标签:
多文件共享const变量不管是定义还是声明都在前面添加extern关 |
分类: 代码天地 |
因为const类型的特殊性,所以只能在所定义的文件你使用,即使是在多个文件里面定义了,在运行时也会被看做是不同的变量,
我们要解决的问题是在只在一个文件中定义const而在多个文件中声明并使用它,
解决办法: 对于const变量,不管是定义还是声明,都在前面添加
extern关键字,
extern const int bufsize = fcn();
//file_1.h
extern const int bufsize ;//与file_1.cc中定义的是同一个
如果想在多个文件件共享const 对象,必须在变量定义之前添加extern
哎呀,后来博主有自己是了一下,发现还是有一些东西可以挖的,顺便挖一下啊
贴地址:http://tieba.baidu.com/p/3230349640
http://bbs.csdn.net/topics/360106665
http://blog.sina.com.cn/s/blog_76fbd24d0101a62k.html
恩,搞明白了啊,这个c++啊,跟C语言不大一样啊,他好像在创建工程时不需要#include“文件名”的样子,直接用extern声明一下就好,这是之前老有冲定义的原因
下面是我的代码,
test.h
#include
using namespace std;
extern const int test;
int sss = test;
int ccc()
{
cout<< sss<<endl;
return 0;
}
testforvs2012.cpp
#include
using namespace std;
extern const int test =32;
extern int sss;