如何在C++内多个CPP共享同一个变量

2024-12-03 00:12:05
推荐回答(4个)
回答1:

1.全局变量的定义和普通变量的定义相同,只是在别的cpp文件中使用前需要用extern修饰符声明。
例如:
主文件中定义 int global = 0;
别的文件里面用 extern int global;申明一下就可以用了。

2.extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其它模块中寻找其定义。另外,extern也可用来进行链接指定。

回答2:

楼上 不能再在 .h 中写 static int m_BuyNumber
这样一点意义都没有 在头中定义了一个只在这个头中有可以使用的变量
而且可能造成重定义

回答3:

C.h 中:
extern int m_BuyNumber;

A.cpp 中:
int m_BuyNumber;

在 .h 中写 static int m_BuyNumber; 的话, A.cpp 和 B.cpp 中的 m_BuyNumber 是两个不同的变量。

回答4:

C.h
中static int m_BuyNumber;删掉

A.c
加int m_BuyNumber;

B.c
加extern int m_BuyNumber;