3 回答

TA貢獻1909條經(jīng)驗 獲得超7個贊
什么是“ 如- “規(guī)則?
標準在哪里引入這項規(guī)則?
這個國際標準中的語義描述定義了一個參數(shù)化的非確定性抽象機器。本國際標準不對一致性實現(xiàn)的結(jié)構(gòu)提出任何要求。特別是,它們不需要復(fù)制或模仿抽象機器的結(jié)構(gòu)。相反,一致性實現(xiàn)需要(僅)模擬(僅) 可觀察行為關(guān)于抽象機器的說明如下所示。
這一規(guī)定有時被稱為“以假亂真”規(guī)則。
,因為一個實現(xiàn)可以自由地?zé)o視本國際標準的任何要求,只要結(jié)果是好像該要求已經(jīng)被遵守一樣,就可以從程序的可觀察到的行為來確定。例如,一個實際的實現(xiàn)不需要評估一個表達式的一部分,如果它可以推斷它的值沒有被使用,并且沒有產(chǎn)生影響程序的可觀察行為的副作用。
規(guī)則究竟規(guī)定了什么?
符合要求的實施 執(zhí)行格式良好的程序 將產(chǎn)生與具有相同程序和相同輸入的抽象機器相應(yīng)實例的可能執(zhí)行之一相同的可觀察行為。 ..但是,如果任何此類執(zhí)行包含未定義的操作,則本國際標準不要求使用該輸入執(zhí)行該程序(甚至不要求執(zhí)行第一個未定義操作之前的操作)。
在本國際標準中,某些其他操作被描述為未定義的操作(例如,試圖修改Const對象的效果)。[注: 本國際標準不對包含未定義行為的程序的行為施加任何要求..-尾注]
對符合標準的實現(xiàn)的最低要求是:
-對易失性對象的訪問嚴格按照抽象機器的規(guī)則進行評估。
-在程序結(jié)束時,所有寫入文件的數(shù)據(jù)應(yīng)與按照抽象語義執(zhí)行程序可能產(chǎn)生的結(jié)果相同。
-交互設(shè)備的輸入和輸出動態(tài)應(yīng)在程序等待輸入之前實際交付。構(gòu)成交互設(shè)備的是實現(xiàn)定義的。 這些統(tǒng)稱為程序的可觀察行為。. [ 注
:每個實現(xiàn)都可以定義抽象語義和實際語義之間更嚴格的對應(yīng)關(guān)系。- 尾注 ]
是否有此規(guī)則不適用的情況?
如果滿足某些條件,則允許實現(xiàn)省略類對象的復(fù)制/移動構(gòu)造, 即使為復(fù)制/移動操作選擇的構(gòu)造函數(shù)和/或?qū)ο蟮奈鰳?gòu)函數(shù)具有副作用. [...]

TA貢獻2037條經(jīng)驗 獲得超6個贊
在抽象機器中,所有表達式都由語義指定。 實際的實現(xiàn)不需要評估表達式的一部分,如果它可以推斷它的值沒有被使用,并且沒有產(chǎn)生任何所需的副作用(包括調(diào)用函數(shù)或訪問易失性對象所引起的任何副作用)。[...]
對符合標準的實現(xiàn)的最低要求是:
這是程序的可觀察的行為。
訪問
volatile
對象嚴格按照抽象機器的規(guī)則進行評估。 在程序結(jié)束時,所有寫入文件的數(shù)據(jù)應(yīng)與按照抽象語義執(zhí)行程序所產(chǎn)生的結(jié)果相同。 交互設(shè)備的輸入和輸出動態(tài)應(yīng)按 ..這些要求的目的是使未緩沖或行緩沖的輸出盡快出現(xiàn),以確保提示消息在等待輸入的程序之前實際出現(xiàn)。
- 3 回答
- 0 關(guān)注
- 542 瀏覽
添加回答
舉報