компилятор может все эти `if`ы и `nop`ы выкинуть
Отличный способ говна навернуть. Используй конструкцию if () { } Чтобы не было проблем в будущем В остальном, если не считать замечания выше что выкинуть комплиятор может - все норм
хм. могу ошибаться но вроде видел в стандарте возможность использования без скобок
Можно. Но тут такое дело, говно тоже можно есть. Но вот нужно ли. Понадобится исправить или дополнить условие и есть риск что выполнится не все, что должно. Я бы советовал всеже скобки использовать все же.
Если используете без скобок, то лучше пишите в одну строку, чтобы явно показать, что это однострочная конструкция. В случае с двух строчной реадизацией - просто высока вероятность потом на свои же грабли попасть. Плюс, вы же в две строки пишите исходя из того, что хотите место сэкономить, тогда смысл писать в две строки без скоьок, вместо того, чтобы писать в одну, тоже без скобок?
Двустрочная реализация, как что то недоделаное на мой взгляд, скобки убраны, но в одну строчку не пишу, так как не хочется
стараюсь писать в стиле rsdn соглашения
а надо в стиле здравого смысла. while(cond); { // some code } Как говорится, найди ошибку.
вот в циклах, почему то, не хочется без скобок. а в ифах - считаю вправе ))
И в ифах тоже можно нечаянно поставить ; и получить безусловное выполненеие кода, а компилятор и вовсе выпилит if т.к. у него блок пустой.
там форматированием внимание заостряется
Если у тебя есть clang-format или твоя ide умеет в это.
можно, кто же спорит, но если ты привыкнешь всегда скобочки ставить - вероятность этого стремится к нулю. Ну и глаз наметнный - реакция первая будет WTF dude, don't fuck with me!
камон, что за байтоебство. Пардон за мой французкий. Это не повод создавать проблемные ситуации на будущее. Тебе его еще сапортить
Ты читаешь код чаще чем пишешь. Не экономь на читаемости.
если метод разработки: "на отвали" - то пойдет
для чтения громоздко
стесняюсь спросить, у тебя память как у золотой рыбки? Пока видишь, помнишь?
С точки зрения количества символов - да, но с точки зрения выражения семантики - так сразу виден скоуп.
ну штош, мне нечего добавить в данном случае. Но в целом, подход неправильный опасный. Но каждый выбирает свой путь
А как ты тогда работаешь с проектом хотябы на 0.5kLoC?
ну да и поэтому возникло это. видимо там у всех такая память) https://www.rsdn.org/article/mag/200401/codestyle.XML
это прям все все меняет
Да. Это действительно всё меняет. В Managed яп-ах от многих вещей тебе страхует рантайм и компиль. В нативных без gc ты сам волен отстреливать себе ноги как угодно.
Вы просто сравниваете их, нопы на оптимизациях улетят
А для чего тогда nop использовать? Я думал раньше, что они какраз для того, чтобы оптимизатор не убирал подобные конструкции как в примере. Типо есть if, но он ни на что не влияет
бывает нужно по тактам выровнять или задержку сделать.
не уверен точно на 100% но кажись gcc его не трогает, но всегда можно __asm volatile ("nop"); сделать, если верно помню синтаксис
Опередили вопрос)
принимается. но там не про нопы вопрос. они тут только для того, чтобы точки останова поставить и проверить выполнение.
А если плюсы 17 версии, то можно сделать так if(i = 3; i ==3). Так что уже и это не совсем актуально
Изи. if(i = get_i(); i == 3); { std::terminate(); }
Обсуждают сегодня