大規模で複雑なモデルを開発しています (ほとんどが単純な数学、主に代数ですが、多くの計算が必要です)。すべてを 1 回で実行する必要があると想定して最初の入札を行いましたが、現在では範囲が拡大し、モデル全体を複数回実行する必要があります (基礎となる一連の前提条件は同じですが、データセットは異なります)。
最初のニーズに基づいて、一連のクラスを作成し、メイン関数でそれらのクラスの動的インスタンスを作成し、参照によって各関数に渡しました。そうすれば、メイン関数の最後に、すべての関数が実行されたら、必要なすべてのレポート/出力を実行できます。私の質問は、メイン関数を変更して複数の反復を許可する方法についてです。以下のコードのいくつかのサンプルビットと、それに続く私の質問:
// Sample class declaration (in main)
vector<PropLevelFinancials> PLF;
// Sample function call (functions in other header files)
ProcessPropFinancials(vector<PropLevelFinancials>& PLF);
// Reporting at the end of main (functions in other header files)
OutputSummaryReport(vector<PropLevelFinancials>& PLF, other objects);
// What I need to do next
// Clear/Delete PLF and other objects, iterate through model again
私は現在のプログラムの速度と結果に非常に満足しているので、その前に多くの情報を入力する必要はありません (ただし、常に提案を歓迎します)。
複数のデータセットを循環する機能を実装するにはどうすればよいですか (ループの実行方法は明らかです。私の質問はメモリ管理に関するものです)。スピードは重要です。基本的に、作成したクラス オブジェクト (PLF) の既存のインスタンスを削除し、オブジェクトの新しいインスタンスですべてを再度実行したいと考えています。これは、反復を管理するために「新規」と「削除」を使用する必要があるタイプの状況ですか? 上記で概説したように、それは私の関数呼び出しを変更しますか? new と delete の使用を避けたい (スタックにとどまる) 場合、どのようなオプションがありますか?