Для версий, не являющихся членами, функция с одним параметром является префиксом, а функция с двумя параметрами, а второй * int
- постфиксом:
struct X {};
X& operator++(X&); // prefix
X operator++(X&, int); // postfix
Для версий-членов версия с нулевым параметром является префиксом, а версия с одним параметром, принимающая int
, - это постфикс:
struct X {
X& operator++(); // prefix
X operator++(int); // postfix
};
Параметр int
для вызовов операторов постфикса будет иметь значение ноль.