我应该如何定义这个变量

How should I define this variable?

本文关键字:变量 定义 何定义 我应该      更新时间:2023-10-16

我有几个头文件.h和它们对应的.cpp文件。这里假设我有part1.hpart2.h用于声明。对应的cpp是用于定义函数的part1.cpppart2.cpp

我还有一个main文件。在这个主函数中,我有一个变量float * change。作为它的名称,我将更改change的值,然后调用part1.cpp中定义的函数Fpart2.cpp中定义的G。问题是我不能将change作为参数传递。所以一开始我打算把它定义为一个全局变量。但后来我发现这个变量总是在变化。但是全局变量只能定义一次。那么,有什么方法可以解决这个问题吗?

提前谢谢。

您可以在一个.cpp文件中将变量定义为正常值

float* change;

然后在您的一个头文件中,您可以声明它:

extern float* change;

现在#将头文件包括在使用全局变量的任何位置。

我建议您随时执行get/set函数来获取变量,并保持OOP封装。http://www.cplusplus.com/forum/beginner/107842/

在其中一个标头中声明

extern float * change;  // does not define the variable, but just that it exists somewhere

您也可以在part1.cpppart2.cpp中直接声明这一点,而不是在公共标头中声明。然而,如果您稍后更改了某些内容,例如float到double,则不应忘记这些声明中的任何一个。

请记住Stroustrups的名言:"//全局变量-尽可能避免那些"