【问题标题】:send a variable value to another file [closed]将变量值发送到另一个文件[关闭]
【发布时间】:2018-03-27 19:37:13
【问题描述】:

我想将一个布尔值从文件 B.cc 发送到 A.cc,其中 A.cc 在 B.cc 之前执行以进行下一个操作周期。我将布尔值作为外部易失性和全局变量。如何将值保存到下一个操作周期。

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

链接器.h

#ifdef _linker_
#define _linker_
extern volatile right;
#endif

【问题讨论】:

  • 你的问题不太清楚。向我们展示您当前拥有的代码以及您希望它如何工作。
  • 我希望代码保存right的值,并通过A.cc在下一个周期访问改变的值

标签: c++ volatile extern


【解决方案1】:

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

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

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

在网上搜索“C++ 外部变量”。

【讨论】:

  • 我无法通过函数传递值,因为函数不能被篡改。我也尝试将变量设置为静态,但这也没有解决问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-02
相关资源
最近更新 更多