i++與++i的指派問題
以前在程式設計時。沒有注意這樣一件事情,一個整型變量,做前加加和後加加後,能否再給它指派???今天就讓我們驗證一下吧!!!
我們寫下面一段程式
int main()
{
int iIndex = ;
++iIndex = ;
iIndex++ = ;
return ;
}
一些功能強大的編譯器在不不編譯的情況下就已經能夠提示iIndex++ = 10;這一行代碼是錯誤的。是以可能是編譯不過去的,這裡我們不是簡單的看這個結果,而是為什麼++iIndex = 20;這一行代碼不報錯呢?
原因是:
++iIndex傳回的是變量的本身,傳回的還是一個變量,它能夠被指派;而Index++的傳回值不能作為左值。
其實也沒有什麼道理好說的,C++這麼規定的,我們也隻好記住就是了。