little_greg Опубликовано 17 июля, 2009 Жалоба Поделиться Опубликовано 17 июля, 2009 Существует ли разница между использованием инкремента string++ и *string++. Результат один и тот же. #include <iostream.h> void show_string(char *string) { while (*string != '\0') { cout << *string; string++; } } void main(void) { show_string( "Учимся программировать на языке C++!"); } Ссылка на комментарий Поделиться на другие сайты Поделиться
Yezhishe Опубликовано 17 июля, 2009 Жалоба Поделиться Опубликовано 17 июля, 2009 (изменено) Существует ли разница между использованием инкремента string++ и *string++. Результат один и тот же.Если результат один и тот же - не надо платить больше. ©старая реклама...Оффтоп Ну надо ж было настолько заморочиться!.. Не всё ли едино - в лоб ли, по лбу ли... При нынешнем-то уровне быстродействия машинок... Даже офисных, прости, Господи! © народный клич P.S. Не смог удержаться от анекдота в тему... Клиент (К) - Официанту (О): К - Что Вы мне принесли!? Чай или кофе??? О - А Вы что - на вкус не разберёте разве? К - НЕТ!! О - Тогда какая Вам разница? Изменено 17 июля, 2009 пользователем Yezhishe Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 17 июля, 2009 Жалоба Поделиться Опубликовано 17 июля, 2009 (изменено) little_greg: Порядок выполнения операций в C, как и многое другое, довольно запутан. Операция ++ тут в любом случае относится к адресу символа (чтобы это изменить, понадобились бы скобки), а будет ли получен символ по его адресу (для варианта *string++), не имеет никакого значения, всё равно этот символ не используется. P.S. Кстати, так как ++ постфиксный, в варианте *string++ символ будет взят по первоначальному адресу. Хотя на его судьбу это все равно не повлияет. Изменено 17 июля, 2009 пользователем Тролль Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения