我正在开发代码,以使用流体中存在的生物物质来模拟流体流动。这涉及到标准的Navier-Stokes方程以及一些其他的生物学模型。有许多参数/常量。
我已经编写了处理主要计算的函数,但是我遇到的一个问题是这些计算所依赖的大量常量/参数。将10-20个参数传递给一个函数似乎很麻烦。
一种替代方法是使所有常量成为全局变量,但是我知道这在C ++中是不受欢迎的。
处理一个功能的许多输入的标准方法是什么?我应该构造一个结构并通过它吗?
谢谢
7
如果可能,请尝试使用constexpr在编译时评估常量。我尝试将其中大多数包含在单独的头文件中。对于变量,我发现单独的类有好处,但是以潜在的更多错误为代价,因为您必须在传递给函数之前初始化该类。
—
Biswajit Banerjee,
没有某种代码示例,很难正确回答。我应该构造一个结构并通过它吗?通常,是的,这绝对是通常的做法。按参数/常量的含义对其分组。
—
基里尔
“一种选择是使所有常量成为全局变量,但是我知道这在C ++中是不合时宜的”是吗?
—
莫妮卡(Monica)
它们真的是真的常数吗?如果要在其他域中应用模型怎么办?我建议把他们放在小班上。这至少给你的灵活性,一点点的未来
—
安德烈
@André其中大多数是通过参数文件由用户控制的,这就是为什么我同意类解决方案是最佳的原因。
—
EternusVia'2