С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
4 / 3 / 1
Регистрация: 04.02.2020
Сообщений: 130

Что лучше: преинкремент или постикремент, исходя из читаемости кода?

14.05.2021, 16:50. Показов 4682. Ответов 36
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вроде как лучше всего (производительность) только для прибавления значения использовать преинкремент (++i), но тогда почему во всех циклах for используют постинкремент (i++)? И раз уж компилятор все оптимизирует, то что все таки использовать исходя из читаемости на ваш взгляд? Надо ли теперь переучиваться? А то привык уже к постинкременту.
Спасибо за прочтение.

Добавлено через 7 минут
P.S. На данный момент постикремент мне кажется более читаемым. Привычка, наверное...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.05.2021, 16:50
Ответы с готовыми решениями:

Документирование кода DOXYGEN или что-то лучше
Здравствуйте, форумчане. Не знал куда разместить эту тему,решил сюда. Вопрос состоит в том, чем DOXYGEN лучше, чем другие среды для...

Что лучше использовать для тестирования кода, OpenServer или Denwer
Что лучше Openserver или Denwer? А то я как-то давно уже взял плохую моду - экспериментировать на живом коде. Вылилось из этой темы

Подойдёт это ноут для кода или за 10к лучше что нибудь другое?
https://www.dns-shop.ru/product/5ec06879e6b93330/14-noutbuk-irbis-nb46-cernyj/?p=1&i=7

36
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
14.05.2021, 16:51
Лучший ответ Сообщение было отмечено ХомоСС как решение

Решение

Цитата Сообщение от ХомоСС Посмотреть сообщение
Надо ли теперь переучиваться? А то привык уже к постинкременту.
Постинкремент дороже, ему нужно запоминать предыдущее значение. Поэтому, когда тебе не нужно это предыдущее значение, всегда используй преинкремент.

Добавлено через 31 секунду
Цитата Сообщение от ХомоСС Посмотреть сообщение
, но тогда почему во всех циклах for используют постинкремент (i++)?
В циклах используют ++i
1
4 / 3 / 1
Регистрация: 04.02.2020
Сообщений: 130
14.05.2021, 16:57  [ТС]
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
В циклах используют ++i
Когда это?????
Доколе?????
Везде, Карл, везде в циклах for писался i++, и только когда я загуглил отличия между этими двумя вещами вдруг выяснилось что пишут ++i...
P.S. Пардон.

Добавлено через 43 секунды
Почему?

Добавлено через 57 секунд
Что читаемей?????????
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
14.05.2021, 16:58
Лучший ответ Сообщение было отмечено ХомоСС как решение

Решение

Цитата Сообщение от ХомоСС Посмотреть сообщение
Добавлено через 43 секунды
Почему?
Добавлено через 57 секунд
Что читаемей ?????????
Я ж тебе написал почему. Читаемость здесь ни при чём.
1
Злостный нарушитель
 Аватар для Verevkin
10251 / 5678 / 1262
Регистрация: 12.03.2015
Сообщений: 26,313
14.05.2021, 17:00
Цитата Сообщение от ХомоСС Посмотреть сообщение
вдруг выяснилось что пишут ++i...
Почему?
Патамушта оптимизатор всё развернёт, как надо, выкинет лишние действия, переменные, функции и т.д., рассчитает константы.

Вторая - самая веская причина:


Если хочешь самый быстрый код - пиши на ассемблере. Язык высокого уровня - для ускорения РАЗРАБОТКИ.
1
4 / 3 / 1
Регистрация: 04.02.2020
Сообщений: 130
14.05.2021, 17:02  [ТС]


Добавлено через 1 минуту
А читаемость?????????????????????????????? ???
0
4 / 3 / 1
Регистрация: 04.02.2020
Сообщений: 130
14.05.2021, 17:03  [ТС]
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
14.05.2021, 17:03
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
В циклах используют ++i
по привычке используют похоже.
для фундаментальных типов разницы нет.
1
4 / 3 / 1
Регистрация: 04.02.2020
Сообщений: 130
14.05.2021, 17:03  [ТС]
Возможно...
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
14.05.2021, 17:04
Цитата Сообщение от Verevkin Посмотреть сообщение
Патамушта оптимизатор всё развернёт, как надо, выкинет лишние действия, переменные, функции и т.д., рассчитает константы.
Я б не стал на это рассчитывать.
1
4 / 3 / 1
Регистрация: 04.02.2020
Сообщений: 130
14.05.2021, 17:05  [ТС]
Вообщем, ответов тут нет, кроме одного...
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
14.05.2021, 17:05
Лучший ответ Сообщение было отмечено ХомоСС как решение

Решение

Цитата Сообщение от ХомоСС Посмотреть сообщение
А читаемость?
на читаемость не оказывает побочных эффектов.
1
4 / 3 / 1
Регистрация: 04.02.2020
Сообщений: 130
14.05.2021, 17:07  [ТС]
Наверное...

Добавлено через 1 минуту
Ответ один:
Цитата Сообщение от Verevkin Посмотреть сообщение
Вторая - самая веская причина:
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
14.05.2021, 17:08
Цитата Сообщение от _stanislav Посмотреть сообщение
по привычке используют похоже.
для фундаментальных типов разницы нет.
Нет, не по привычке, а потому что префиксный оператор в общем случае эффективнее, чем постфиксный.
1
4 / 3 / 1
Регистрация: 04.02.2020
Сообщений: 130
14.05.2021, 17:10  [ТС]
Идем переучиваться.
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
14.05.2021, 17:10
Цитата Сообщение от Verevkin Посмотреть сообщение
Язык высокого уровня - для ускорения РАЗРАБОТКИ.
ты хочешь сказать когда разработка уже подходит к концу, то есть все абстракции и интерфейсы оптимизированы, то можно переписывать проект на асме?
1
4 / 3 / 1
Регистрация: 04.02.2020
Сообщений: 130
14.05.2021, 17:14  [ТС]
Закрываем тему...

Добавлено через 1 минуту
Или как говорил один филосов:
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
14.05.2021, 17:14
ХомоСС, в циклах с std::size_t можешь писать пост инкремент
1
Злостный нарушитель
 Аватар для Verevkin
10251 / 5678 / 1262
Регистрация: 12.03.2015
Сообщений: 26,313
14.05.2021, 17:14
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Я б не стал на это рассчитывать.
Имеешь полное право.
Кликните здесь для просмотра всего текста
1
4 / 3 / 1
Регистрация: 04.02.2020
Сообщений: 130
14.05.2021, 17:15  [ТС]
Молодцы!
Все хорошо поработали!

Добавлено через 40 секунд
Идем пить чай!

Добавлено через 15 секунд
И есть суп!

Добавлено через 16 секунд
И работать!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.05.2021, 17:15
Помогаю со студенческими работами здесь

Какая операция быстрее, постинкремент, или преинкремент?
какая операция быстрее: постинкремент, или преинкремент? и почему? как их можно записать на ассемблере?

Посоветуйте тонкий клиент или что-то еще исходя из задач
Задача: перенести монитор (DVI), клаву и мышь на 20 метров от ноутбука путем витой пары на RJ45. Требования: отсутствие вентилятора и...

Посоветуйте, плз, неттоп/тонкий клиент или что-то еще исходя из задач
Задача: перенести монитор (DVI), клаву и мышь на 20 метров от ноутбука путем витой пары на RJ45. Требования: отсутствие вентилятора и...

Что лучше. Хранить все в БД MySql или или часть в PHP массивах
Добрый день! Начал заполнять таблицу в БД и возникло множество сомнений, правильно ли я все делаю. Условно, есть таблица с...

Что лучше брать? sony xba c10 или ex450 или xiaomi mi hybrid
что лучше брать? sony xba c10 или ex450 или xiaomi mi hybrid понимаю что вопрос смешно звучит, именно такое сравнение, но нужен совет ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru