在this和this的帖子中我描述了我想開發的框架。在不同的運行中保留對象狀態
我想實現一個memoization策略來激發一些函數的執行。
該框架的一個重要功能應該是「記住」過去運行的計算值:假設我們編寫一個程序,在該程序中執行字數計數功能f
並將大文本t
作爲輸入。在我們計算了r=f(t)
(其中r
是結果)之後,我們遵循memoization邏輯,因此我們在某處存儲(t,r)
,比如unordered_map
對象um
。之後,程序終止。
在同一節目的下一次執行中,f
昂貴的執行是沒有必要的,因爲um
包含已經(t,r)
,所以返回的值r
。
所有這一切的問題是如何在不同的執行過程中「記住」um
狀態。
重要: 顯然,這是一個例子讓你瞭解這個框架的一個可能的應用,但任何記憶化應用程序必須正常工作。
Write a c++ object to file是該問題/場景的唯一解決方案,還是另一個?
使用文件系統保存信息並在稍後的運行過程中將其讀入。 – lcs
你能解釋一下你的解決方案嗎?考慮重要部分,不要過分關注所提供的示例(只是爲了理解這種記憶而報告)。 – justHelloWorld
那麼你將不得不在某處存儲數據。您可以使用數據庫,文件,某種雲存儲或其他類型的數據,但數據將不得不存儲在持久存儲位置。 – NathanOliver