C++ 在几个函数中使用相同的变量

C++ 在几个函数中使用相同的变量,c++,function,variables,C++,Function,Variables,在我的代码中,出于效率考虑,我在它自己的文件中放置了一个长函数(我们将其命名为a.cpp)。我还创建了另一个名为b.cpp的文件,其中包含另一个使用相同变量名称的函数 我试图为这些变量创建一个头文件,但没有成功。有没有办法做到这一点(除了将函数放在同一个文件中) 一个简单的例子: a.cpp b.cpp 注意 这些文件中的每一个实际上是C,但整个程序是C++。p> Writeextern-double-s在两者中(或在标题中)。这是一个没有定义的声明 然后写双s仅在一个.cpp文件中-这是双对象

在我的代码中,出于效率考虑,我在它自己的文件中放置了一个长函数(我们将其命名为
a.cpp
)。我还创建了另一个名为
b.cpp
的文件,其中包含另一个使用相同变量名称的函数

我试图为这些变量创建一个头文件,但没有成功。有没有办法做到这一点(除了将函数放在同一个文件中)

一个简单的例子:

a.cpp

b.cpp

注意
这些文件中的每一个实际上是C,但整个程序是C++。p> Write
extern-double-s在两者中(或在标题中)。这是一个没有定义的声明

然后写
双s仅在一个
.cpp
文件中-这是
对象物理上“活动”的地方


.

放双s;在a.cpp中。写外文;在a.h


此外,一个好的编程实践是,函数应该适合屏幕/a5的一侧。

在头文件中放入双s

在每个.cpp文件的顶部执行以下操作:

#include "filename.h"
将变量引入cpp文件以供使用。最好将其定义为静态的。。。但我们不讨论这个问题


附言:如果可以避免的话,你不应该这样使用globals。这不是好的OO设计。

“这些文件中的每个文件实际上是C,但是整个程序是C++。”这是什么意思?我不使用(或几乎不使用)C++的任何特性。这些文件包含一个单独的长函数,该函数太复杂,无法保存在更大的类文件中。来想想这个。我可以把一个单独的标题分成几个文件,一个“单一的,长的函数”听起来是错误的。C++不是C,它是一个多范例语言,即使你不做任何面向对象的,它也和C的细节不同(尽管大多数C编译为C++,这是有意图的,但不依赖于它)。决定!语法错误。另外,好的回答方法是格式化你的帖子!我同意安装部分,但这样我就少了一个
,而
循环。@Yotam:任何在你之后(包括你未来的自己!)来处理你的代码的人都会经历巨大的维护噩梦和数周的偏头痛。一个
循环真的值得吗?@Tomalak Geret'kal我知道。这是科学规划的双重优势。我必须考虑效率和可读性。在这种情况下,我选择了效率…@Yotam:那么你可能也选择了错误的语言-1:不,这是错误的。这与写
双s没有什么不同
直接在
.cpp
文件中<代码>#include
只是一个文本查找和替换操作,预编译。我已经尝试过并注意到了这一点(我问题中的头文件部分)
double s;

void b(){
  s = 2.0;
  printf("%f\n",s);
}
#include "filename.h"