gpt4 book ai didi

c++ - 我应该在 `#include` 中添加 `main(){}` 语句吗?

转载 作者:行者123 更新时间:2023-11-30 03:58:08 24 4
gpt4 key购买 nike

我正在研究 CFD 求解器。我大量使用的现有 CFD 求解器是 OpenFOAM。 OpenFOAM 通常在其求解器中具有以下内容:

...
int main ()
{
...
// Simplified version, but similar effect
double time = 0.0;
double endTime = 10.0;
while (time < endTime)
{
...
#include "fileThatSolvesForVelocity.H"
#include "fileThatSolvesForPressure.H"
...
time += deltaT;
}
}

这里,包含的文件并不是通常意义上的真正“标题”,因为它们只包含要复制到 main() 中的语句。然而,由于它们重复运行(甚至可能在一个循环中重复运行),这减少了代码重复,并且还在合理明显命名的“头”文件中划分了部分。

IDE 通常不喜欢这种包含方式 - 他们不知道“ header ”中的所有变量来自何处,也无法提供任何有意义的解释。

这种风格是“糟糕的”,还是只是方便使用 C++ include 机制?特别是,我是否应该尝试避免它,也许通过为每个字段使用分类对象?有没有更好的方法来做到这一点(如果需要,C++11 和 Boost 都可用)?

最佳答案

这不是惯例。

我不确定你想在这里实现什么。对于编译器/链接器来说,这不是问题;在编译时,所有包含的文件在预编译阶段合并为一个,即绝对没有性能提升,可能恰恰相反。

如果您希望以某种方式对它们进行分组,则可以将所有变量放在一个类或命名空间中。如果你想增加可读性等等,你可以在 IDE 中使用 #region

关于c++ - 我应该在 `#include` 中添加 `main(){}` 语句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27597255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com