C 「前置 」和「後置 」的原理

2021-09-10 07:36:41 字數 365 閱讀 9727

//前置++

t& operator++()

//後置++

t operator++(int) //佔位符,表示後置++

這裡也很好解釋了為什麼後置++在感覺上是在語句執行完後才進行遞增,其實在執行過程中只是對臨時值進行處理,原有值已經遞增了。

為什麼在前置++時要實現返回引用,而後置++時卻不用引用返回。

1.若前置++時不使用引用返回,當++(++a)時,之後求得的a只是進行自增了一次,而外面的++卻沒有作用。因為外面的++只是對乙個臨時值進行加加,而不是a本身。

2.後置++返回的本身就是乙個臨時值,在函式結束時就會被銷毀。因此對臨時返回值進行引用沒有意義。

前置 和後置 過載

1 前置 過載時沒有引數 而後置 過載時有引數。不會使用其引數,僅僅是區分用。可以理解為前置 後面有引數了,所以不需要引數 i 對應 operator i 對應 operator int 2 前置 需要返回引用 因為過載自加運算子後可以返回物件的引用,以方便在表示式中連續使用。而後置 返回的不是引用...

前置 和後置 的區別

includeusing namespace std class int int const int operator int int operator private int m i ostream operator ostream os,const int i 可以使用 a而此時不能使用a 後置...

前置 和後置 的區別

a表示取a的位址,增加它的內容,然後把值放在暫存器中 a 表示取a的位址,把它的值裝入暫存器,然後增加記憶體中的a的值 前置 和後置 有4點不同 返回型別不同 形參不同 不同 效率不同 1 返回型別 前置 的返回型別是 後置 的返回型別const值。這意味著,前置 返回的是左值 可以被修改,也就是說...