我在程序中進行了大量的數值積分和插值,並將結果保存在std :: function變量中。由於我不想每次都進行計算 - 只有當底層模型發生變化時 - 是否有辦法將它們寫入文件?或者我應該只是將數據寫入文件並在啓動時加載/插入它們?將std :: function保存到文件
謝謝大家, 尼克拉斯
編輯:例如,我使用TSpline3對象,然後「拯救」他們的lambda函數:
class Model
{
std::function<double(const double)> interpolated_function;
};
// In the code
std::vector<double> x; std::vector<double> y; Model *model;
// Calculations
auto spline = std::make_shared<TSpline3>("name", x.data(), y.data(), x.size());
model->interpolated_function = [spline] (const double x) { return spline->Eval(x); }
我知道我可以保存根TSpline3對象,但我想能夠在不更改模型類的情況下更改插值方法。
你節省*結果*在'的std ::調用功能? – Borgleader
***有沒有辦法將它們寫入文件?***最有可能。我可以告訴你,因爲你沒有發佈代碼。 – drescherjm
***在我的程序中並將結果保存在std :: function變量中***這沒有任何意義。請發佈一個簡單的例子。 – drescherjm