2011-09-22 141 views
1

「延遲加載」和「延遲評估」(兩者都是Stack Overflow上的標記)還是有區別嗎?懶惰加載和懶惰評估有什麼區別?

對評論的迴應:標記維基(我在提問前曾看過)有前者指延遲初始化,另一個則談到延遲評估。是否可以初始化某些內容而不進行評估?

+4

只有當他們如果將鼠標懸停在這樣的標籤,它會告訴你的意思初始化對象。 – Will

+0

@WilliamVanRensselaer我認爲這些描述是從wikipedia中提取的,可能值得一些解釋(或者wiki文章應該擴展...) –

+0

@WilliamVanRensselaer:我已經編輯了這個問題以迴應您的評論。 –

回答

2

懶惰評估是指如何評估表達式。例如:

f(x) && g(x) 

g(x)將不會被調用,除非f(x)爲真。

延遲加載是指需要

+0

是不是'f(x)&& g(x)'也叫短路評估?還是短路評估是懶惰評估的一個子集? –

+1

@AndrewGrimm短路評估是一個懶惰評估的特例 –

+0

沒有意義是迂腐的,初始化一個對象是調用表達式的問題,這意味着懶加載是懶評估的一個子情況? –