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

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

14.05.2021, 16:50. Показов 5171. Ответов 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
Злостный нарушитель
 Аватар для Verevkin
10919 / 5847 / 1289
Регистрация: 12.03.2015
Сообщений: 26,955
14.05.2021, 17:15
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от _stanislav Посмотреть сообщение
ты хочешь сказать когда разработка уже подходит к концу, то есть все абстракции и интерфейсы оптимизированы, то можно переписывать проект на асме?
Нет. Я хотель сказать только то, что сказал. Не передёргивай.
0
4 / 3 / 1
Регистрация: 04.02.2020
Сообщений: 130
14.05.2021, 17:17  [ТС]
И существовать!

Добавлено через 23 секунды
И передергивать одеяло!

Добавлено через 12 секунд
И слова!

Добавлено через 12 секунд
И звезды!

Добавлено через 10 секунд
И мысли!

Добавлено через 13 секунд
И вообще!

Добавлено через 31 секунду
Цитата Сообщение от ХомоСС Посмотреть сообщение
Молодцы!
Все хорошо поработали!
ава
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
14.05.2021, 17:18
Цитата Сообщение от Verevkin Посмотреть сообщение
Не передёргивай.
поговорить хочется, ты похоже не в духе опять?
1
4 / 3 / 1
Регистрация: 04.02.2020
Сообщений: 130
14.05.2021, 17:20  [ТС]
Как говорил Жириновский:
АХАХАХАХХАХАХАХАХАХАХХАХАХАХАХАХАХАХХАХА ХАХАХ

Добавлено через 18 секунд
:brav o::br avo:

Добавлено через 19 секунд
Занавес....
0
Злостный нарушитель
 Аватар для Verevkin
10919 / 5847 / 1289
Регистрация: 12.03.2015
Сообщений: 26,955
14.05.2021, 17:23
Цитата Сообщение от _stanislav Посмотреть сообщение
поговорить хочется, ты похоже не в духе опять?
Ну давай поговорим.
Кликните здесь для просмотра всего текста
звони в телегу мне
@Ver3vkin

Например про то, как роскомпозор блочит форум 4pda.
1
4 / 3 / 1
Регистрация: 04.02.2020
Сообщений: 130
14.05.2021, 17:23  [ТС]
0
112 / 110 / 30
Регистрация: 08.05.2021
Сообщений: 485
14.05.2021, 17:27
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Я б не стал на это рассчитывать.
Это всё поверья.
$ echo 'int main(void) { int i = 0; (*(volatile int*)&i)++; }' | gcc -xc -O0 -otest - && objdump -Cd test
...
<main>:
push %rbp
mov %rsp,%rbp
movl $0x0,-0x4(%rbp)
lea -0x4(%rbp),%rax
mov (%rax),%edx
add $0x1,%edx
mov %edx,(%rax)
mov $0x0,%eax
pop %rbp
retq
...
$ echo 'int main(void) { int i = 0; ++(*(volatile int*)&i); }' | gcc -xc -O0 -otest - && objdump -Cd test
<результат точно тот же>
0
14.05.2021, 17:29

Не по теме:

Цитата Сообщение от Verevkin Посмотреть сообщение
Например про то, как роскомпозор блочит форум 4pda.
тема сложная для меня, я даже не знаю что такое телега :)

0
Злостный нарушитель
 Аватар для Verevkin
10919 / 5847 / 1289
Регистрация: 12.03.2015
Сообщений: 26,955
14.05.2021, 17:32
Цитата Сообщение от _stanislav Посмотреть сообщение
тема сложная для меня, я даже не знаю что такое телега
оно и к лучшему.
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
14.05.2021, 18:12
Цитата Сообщение от mashmed135 Посмотреть сообщение
Это всё поверья.
Нет, не поверья. Префиксный оператор возвращает ссылку на объект, а постфиксный - копию объекта. Здесь не надо думать о реализации этих операторов. Такие вещи должны быть на уровне рефлексов. Иначе где-нибудь просрёшь обязательно.
0
112 / 110 / 30
Регистрация: 08.05.2021
Сообщений: 485
14.05.2021, 18:28
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Нет, не поверья.
Именно поверья, что я и продемонстрировал выше.
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Префиксный оператор возвращает ссылку на объект, а постфиксный - копию объекта.
Да, и возврат копии для всех объектов размером не более указателя дешевле. Особенно, если учесть последующий indirection на указателе для использования.
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Такие вещи должны быть на уровне рефлексов. Иначе где-нибудь просрёшь обязательно.
Нет, конечно, не должны. Иначе при написании кода человек будет основываться не на логике, а на поверьях из интернета.
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
14.05.2021, 18:38
Цитата Сообщение от mashmed135 Посмотреть сообщение
а на поверьях из интернета.
и на рефлексах а рефлексы берутся из typedef enum тэг, или логика работы enum
0
112 / 110 / 30
Регистрация: 08.05.2021
Сообщений: 485
14.05.2021, 18:42
Цитата Сообщение от _stanislav Посмотреть сообщение
а рефлексы берутся из
Ну там скорее всего под "все привыкли" имелось ввиду "нахрен нам столько готового кода переписывать ради непойми какой выгоды".
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
14.05.2021, 21:36
Цитата Сообщение от ХомоСС Посмотреть сообщение
тогда почему во всех циклах for используют постинкремент (i++)?
потому что балбесы.

Цитата Сообщение от ХомоСС Посмотреть сообщение
что все таки использовать исходя из читаемости на ваш взгляд?
где по смыслу нужен префикс - используй префикс.
где по смыслу нужен постфикс - используй постфикс.
Ваш К. О.

Цитата Сообщение от ХомоСС Посмотреть сообщение
А то привык уже к постинкременту.
балбес.
0
14.05.2021, 23:45

Не по теме:

Цитата Сообщение от mashmed135 Посмотреть сообщение
"нахрен нам столько готового кода переписывать ради непойми какой выгоды".
Ага.

_stanislav, Я говорил о том, что у API существуют пользователи. В случае винды их чудовищно много. Ломающие изменения в API приведут к невозможности скомпилировать уже написанный код. Его придется менять.
"Все привыкли" -> "Все рассчитывают на то, что ломающих изменений в API не будет". А значит их и не будет, это моветон. Особенно ради такой незначительной фигни как имя тега\типа.

Напомнить может историю с memcpy в линуксе? Я тут совершенно согласен с Торвальдсом и остальными: это может быть сколько угодно "not a bug" и "по стандарту", но если вы хотите сохранить своих пользователей, не делайте такой фигни никогда.
Всем джунам, стремящимся что-то самовольно улучшить\отрефакторить\сделать правильно в готовом проекте посвящается.

0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
15.05.2021, 04:31
DrOffset, Буч собрал в своем сочинении всех красивых парней, и ты следующий.

Добавлено через 1 минуту
Спасибо за книгу....
0
112 / 110 / 30
Регистрация: 08.05.2021
Сообщений: 485
15.05.2021, 07:54
Цитата Сообщение от DrOffset Посмотреть сообщение
Напомнить может историю с memcpy в линуксе?
Ну в той ситуации Дрепперу и ko +1, кстати. Изменение нужное, это же не теги и даже не правила инициализации в крестах, которые многие ругают. К тому же, тот precondition у memcpy(отсутствие перекрытия) вполне однозначен и неясно, зачем подобные ошибки стоило бы отстаивать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.05.2021, 07:54

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
37
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru