Здравствуйте, kaa.python, Вы писали:
KP>>>А разве не так?
KP>>>KP>>>T& T::operator++();
KP>>>T T::operator++(int);
KP>>>
B>>Так, но основной-то первый вариант.
KP>Как первый?
Так — потому что второй вариант канонически реализуется паттерном через первый:
T T::operator++(int) {
T temp(t);
t++;
return temp;
}
KP>Разве i++ (второй вариант) не чаще используется чем ++i (первый вариант) ?
Это было до появления итераторов. Теперь положено использовать ++i.
KP>Ну и, как сказали выше, это просто вкусовщина, и семантика может использоваться любая.
Это не вкусовщина, а серьезный performance impact, так как вторая операция значительно медленнее, да еще и в цикле (если речь не о целочисленных переменных).