2012-10-13 84 views
2

如果我將變量標記爲易失性變量,那麼在代碼中的每次訪問都會得到保證讀取。非易失性變量

但非易失性變量呢?

是否每個函數/塊保證至少有一次讀取,或者是否可以跨越功能邊界對值進行優化?

回答

3

如果內聯(即使沒有激怒,即沒有inline)可以根除它們,爲什麼功能邊界很重要?

I.O.W .:是的,在as-if規則下幾乎任何東西都是可能的:只要程序的行爲就好像編譯器沒有優化任何東西,它可以對它做任何事情。 (而且這個標準的邊界也很朦朧,例如,消除副本可以讓編譯器的心臟內容,以及丟失的副作用被詛咒。)

+0

嗯,這就是我要問的原因。 :-D –