預增量和預減量

2021-07-16 02:37:21 字數 622 閱讀 6936

這個程式列印什麼值?答案是:它是不確定的。如果+ +被施加到x之前的賦值,答案將是1。如果+ +被施加到x後的賦值,答案將是2。

還有其他的情況下,c++並不指定某些東西的計算順序不同,所以編譯器會做出不同的假設。甚至當c++不清楚事情應該怎樣評價,一些編譯器實現涉及的變數具有***的不當行為。這些問題通常都可以避免,以確保任何乙個有***的變數在乙個給定的語句中使用不超過一次。

規則:不要使用乙個有***的變數在乙個給定的語句中不止一次地使用它。

234

5678

9101112

13int add(int x, int y)

int main()

在第三行中,x和y是遞增/遞減之前,他們的評價,所以他們的新值列印由cout。在第五行,乙個原始值的臨時副本(x = 6,y = 4)傳送給cout,然後原來的x和y是遞增的。這就是為什麼從字尾式操作符的結果沒有改變到下一行。

規則:有利於後遞增和後遞減的預增量和預減量。字首版本不僅更加高效,你就不太可能遇到奇怪的問題。

***乙個函式或表示式被稱為有乙個***,如果它修改一些狀態(例如,在記憶體中的任何儲存資訊),輸入或輸出,或呼叫有***的其他功能。

大部分時間,***是有用的:

延遲載入和預載入

在網頁剛開始開啟的時候,並沒有載入這些,滾動條移動到一定的位置才載入這些,這就是延遲載入的乙個例子。延遲載入的好處 使用延遲載入節約大量的流量資源。實現預載入的方法 1 將的實際的路徑位置放在xsrc中 2 得到距離視窗頂端的距離 3 獲取螢幕可視區域的最低點的位置 達到的時候實現1 在網頁開啟某一...

懶載入和預載入

懶載入和預載入 懶載入的原理及實現 處理預載入時設定img 的src 屬性和img 的onload 事件的位置前後順序關係 關於的預載入,你所不知道的 載入的過程是非同步的 一 懶載入 介紹 目的 二 預載入 介紹 目的 這對畫廊及佔據很大比例的 來說十分有利,它保證了快速 無縫地發布,也可幫助使用...

預解釋和作用域

預解釋的機制 帶var的關鍵字和function關鍵字都會進行預解釋 預解釋 一種毫不節操的機制 在js 之前,首先找到所有帶var關鍵字和function關鍵字的,提前宣告 declare 或者定義 defined 預解釋7步驟 作用域 函式週期 從window下的預解釋開始,宣告加定義了乙個函式...