我是C++的新手,我一直在尝试学习这种语言,这并不容易,因为我的经验完全是针对python的,所以有很多事情需要考虑。
不管怎样,我一直在尝试测试一个代码,其中有两个文件:“source.cpp”和“variables.cpp”。
//Source.cpp
#include "Variables.cpp"
int mi = 23;
int main() {
std::cout << mi << std::endl;
mi = 10;
std::cout << mi << std::endl;
return 0;
}
//Variables.cpp
#include <iostream>
int mi = 8;
现在我正在尝试的是让source.cpp中的第一个cout语句打印23,而不是8,但是链接器在尝试链接两个文件时会导致链接器错误,所以如果有任何关键字,我可以使用它来确保source.ccp中的mi不会链接到variables.cpp中的mi?
我知道这肯定是一个愚蠢的问题,答案就在我眼前,所以请友好点。
任何事都会有帮助的,谢谢!
使用未命名的命名空间。它们存在于C++中。
//Source.cpp
#include "Log.h"
namespace {
int mi = 23;
)
int main() {
std::cout << mi << std::endl;
mi = 10;
std::cout << mi << std::endl;
return 0;
}
//Variables.cpp
#include <iostream>
namespace {
int mi = 8;
}
优点是在许多声明中的每一个声明中都不请求statice
关键字。