香草薩特建議落實後置這樣的:爲什麼按照預增量實現後增量?
T T::operator++(int)() {
auto old = *this; // remember our original value
++*this; // always implement postincr in terms of preincr
return old; // return our original value
}
隨着方針:
指南:爲了保持一致性,始終貫徹在預增量方面後增,否則你的用戶將獲得令人驚訝(並且 通常不愉快)的結果。
這些令人驚訝的結果是什麼(而且往往令人不愉快)?