摘要:
如果定義++c,也要定義c++:遞增和遞減操作符很麻煩,因為它們都有字首和字尾形式,而兩種形式語義又略有不同。定義operator ++和operator –時,應該模仿它們對應的内置操作符,如果不需要原值,應該優先調用字首版本。
對于++和—而言,字尾形式傳回的是原值,而字首形式傳回的是操作後的新值。應該用字首形式實作字尾形式,标準形式是:
是以,在調用代碼時,要優先使用字首形式,除非确實需要字尾形式傳回的原值。字首形式在語義上與字尾形式是等價的,輸入工作量也相當,隻是效率會略高一些,因為字首形式少建立了一個對象。這不是不成熟的優化,這是在避免不成熟的劣化。