我是 C++ 的相对初学者。我正在研究与预测财产财务相关的模型,并且在设置数据结构时遇到了一些问题。
一些背景知识——我正在尝试为关键数据结构设置类变量的具体任务——一种称为 PropFinance 的结构。这个结构将包含我关于给定属性的所有关键信息(在它们的集合中对每个属性进行迭代),包括对未来性能的预测。传递给程序的两个主要参数是(适用于所有要评估的属性)(1)迭代次数(Iterations) - 我们将生成多少次预测(随机迭代)(2)预测长度(NumofPeriods) - 我们要预测多少个周期
PropFinance 类中有 79 个变量,其中包含属性详细信息。一个简单的例子——费用。对于费用以及我的许多类似变量,我将需要创建一个双精度的 3D 数组 - 每次迭代一个维度,每个预测期一个维度。因此,理想情况下,我将有一个用于费用的变量:
class PropFinance {
double Expenses[Iterations][NumofPeriods];
}
但是,我在编译时不知道 Iterations 和 NumofPeriods。我确实知道这两个变量在运行时开始时的值(并且它们对于当前程序执行的所有迭代/属性都是恒定的)
我的问题是如何在程序运行时动态更新这些数组的大小?根据我对这个网站和其他网站的研究,似乎实现这一目标的两种主要方法是
(1) 使用 (2) 在类定义中使用指针然后使用new和delete来管理
但即使有这两个选项,我也不确定它是否适用于第三个维度(我看到的所有示例都只需要一个维度来动态调整大小)。有人可以发布一个口头解释或(更好)一个简单的代码示例,说明这将如何在上面的(1)或(2)中工作?任何关于哪个选项更可取的指导将不胜感激(但不想开始“什么更好”的辩论)。当数组的大小将不断变化时,似乎 vector 更合适,而这里的情况并非如此......
这个模型的整体速度至关重要,随着我们扩大迭代和属性的数量,事情很快就会变大——所以我想尽可能高效地做事情。
抱歉,我没有发布代码 - 如果人们无法从上面辨别我在问什么,我可以尝试将一些东西放在一起。