我应该如何定义这个变量
How should I define this variable?
我有几个头文件.h
和它们对应的.cpp
文件。这里假设我有part1.h
和part2.h
用于声明。对应的cpp
是用于定义函数的part1.cpp
和part2.cpp
。
我还有一个main
文件。在这个主函数中,我有一个变量float * change
。作为它的名称,我将更改change
的值,然后调用part1.cpp
中定义的函数F
和part2.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.cpp
和part2.cpp
中直接声明这一点,而不是在公共标头中声明。然而,如果您稍后更改了某些内容,例如float到double,则不应忘记这些声明中的任何一个。
请记住Stroustrups的名言:"//全局变量-尽可能避免那些"
相关文章:
- 用C++中的一个变量定义一个常量
- 变量定义到C++布尔值转换
- 未声明的标识符错误,但变量定义正确 (?)
- C++多线程程序:变量定义为类成员的隔离错误
- 将变量定义为静态时,为什么可以多次定义它
- 初始值设定项列表与构造函数赋值与变量定义
- 如何根据传递给函数的变量定义特征矩阵大小
- C++ 描述如何使用来简化变量定义
- 如何转发声明依赖于变量定义的类,而变体定义又依赖于模板化类?
- 是否修改其声明语句中的变量定义良好
- 使用类的其他成员变量定义类的成员变量数组
- 是否可以通过全局变量定义具有可变参数数的函数中的参数数量
- 元组 std::get() 不适用于变量定义的常量
- 全局使用变量定义和C 声明
- C++变量定义中的易失性类型量词位置
- 将变量定义为数组和正确的语法
- 多个,包括具有变量定义的头文件
- 调用构造函数,并将成员作为参数解析为变量定义
- 逗号分隔变量定义中关系前的序列
- 如何使用命名变量定义常量右值引用参数的默认值