将变量值发送到另一个文件

时间:2018-03-27 19:37:14

标签: c++ volatile extern

我想从文件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

1 个答案:

答案 0 :(得分:2)

根据环境和要求,在源文件之间发送值的最佳方法&#34;是通过将参数传递给必要的函数或方法。

研究&#34;数据隐藏&#34;和&#34;封装&#34;。为了保持理智,您需要最小化或消除全局变量。 (考虑信令,所有权,多线程访问等)。

另一种方法是使用静态文件范围声明变量并编写 getter setter 函数。

研究互联网&#34; C ++外部变量&#34;。