Ну, это понятно — во-первых, ++ означает увеличение (расширение языка С), а && — означает условие И (тогда бы программы,
написанные на С и С++ компилировались обоими компиляторами).
Вот я объясняю, допустим студенту: создаем объект оператором new (новый), а потом удаляем оператором delete (удалить). И только один человек спросил: а почему нет оператора old?