我想从文件B.cc向A.cc发送一个布尔值,其中A.cc在B.cc之前执行,用于下一个操作周期。我将boolean值作为extern volatile和全局变量。如何将值保存到下一个操作周期。
A.cc
#include "linker.h"
#include "a.h"
bool right;
void a()
{
std::cout << right << std::endl;
}
B.cc
#include "linker.h"
#include "B.h"
bool right;
void B()
{
if(a%2 == 0)
{
right = false;
}
else right = true;
}
B.h
#ifdef _B_
#define _B_
int a
#endif
Linker.h
#ifdef _linker_
#define _linker_
extern volatile right;
#endif
答案 0 :(得分:2)
根据环境和要求,在源文件之间发送值的最佳方法&#34;是通过将参数传递给必要的函数或方法。
研究&#34;数据隐藏&#34;和&#34;封装&#34;。为了保持理智,您需要最小化或消除全局变量。 (考虑信令,所有权,多线程访问等)。
另一种方法是使用静态文件范围声明变量并编写 getter 和 setter 函数。
研究互联网&#34; C ++外部变量&#34;。