Arlleex 183 12 сентября Опубликовано 12 сентября · Жалоба 3 минуты назад, EdgeAligned сказал: Ну, это уже издержки 🙂 Хотя, ядро языка то не меняется, меняются надстройки, которые во многом являются расширением STL. И лично я пишу лично для себя, поэтому не обращаю внимание, если кому-то покажется, что я недостаточно современно выполнил говнокод. Главное, что я достиг поставленной цели. Меня не устраивали некоторые моменты и я их решил. Ну а то, что в последствии это будет выглядеть устаревшим - ну дак всё течет, всё меняется. Я раньше вообще на ассемблере писал, а щас на него скажут - че за архаизм. Это одно... Но C++ "развиваются" так, что нет уверенности, что код не то что будет выглядеть современным, а вообще компилироваться в ближайшем будущем при переходе на свежую версию. Посмотрите, например, чего они с назначенной инициализацией делали - изначально она была, начиная с 11 версии - она выпилена, в 20 снова стала доступна. Ну и зачем оно такое? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 86 12 сентября Опубликовано 12 сентября · Жалоба 3 минуты назад, Arlleex сказал: обложить функцию InitGPIO() Я не за инит пинов говорю. На тему инита пинов и на базовом Си было немало споров. Были даже варианты с массивом ANSI-символов. 3 минуты назад, Arlleex сказал: вообще компилироваться в ближайшем будущем при переходе на свежую версию. Тогда зачем переходить на свежую версию? 🙂 Тем более, что обратная совместимость, насколько я могу судить, вполне себе работает. Даже NULL вместо nulptr можно использовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 183 12 сентября Опубликовано 12 сентября · Жалоба 7 минут назад, EdgeAligned сказал: Я не за инит пинов говорю. На тему инита пинов и на базовом Си было немало споров. Были даже варианты с массивом ANSI-символов. Тогда зачем переходить на свежую версию? 🙂 Тем более, что обратная совместимость, насколько я могу судить, вполне себе работает. Даже NULL вместо nulptr можно использовать. Про какую обратную совместимость вы говорите? Еще раз - попробуйте struct A { int a, b, c, d; }; int main() { A a = { .a = 10, .b = 20, .c = 30, .d = 40 }; } в C++20 - ок, работает. Тащим кучу легаси кода на C++11 компилятор и получаем ошибки компиляции. Вот она обратная недосовместимость. Обратная совместимость в плюсах - это всегда минное поле - вроде ходишь по знакомым местам, а прилететь может с любой стороны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 60 12 сентября Опубликовано 12 сентября · Жалоба 24 minutes ago, EdgeAligned said: Я раньше вообще на ассемблере писал, а щас на него скажут - че за архаизм. TSTB @#177564 ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 12 сентября Опубликовано 12 сентября · Жалоба 34 minutes ago, Arlleex said: InitGPIO() нету у меня такого 35 minutes ago, Arlleex said: Читаемо В течение получаса после написания, не более. По крайней мере у меня )) Поэтому эту рутинную ботву спрятал внутрь каждого объекта пина, отладил и забыл. Разумеется, так надо проделать для каждого семейства камней. Но тоже один раз. Больше читать это не приходится. 23 minutes ago, Arlleex said: A a = { .a = 10, .b = 20, .c = 30, .d = 40 }; по мне это как раз плохо читаемо, предпочитаю указывать явно для каждого поля. Но это вкусовщина. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 62 12 сентября Опубликовано 12 сентября · Жалоба On 9/12/2024 at 7:55 PM, EdgeAligned said: то SPI не подключается к ней. Значит я просто не понял вашего сообщения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexRayne 7 17 сентября Опубликовано 17 сентября · Жалоба В 12.09.2024 в 22:22, Forger сказал: по мне это как раз плохо читаемо, предпочитаю указывать явно для каждого поля. 1) это читаемо и явно для каждого поля. 2) если у вас поля битовые, или структурка константная, или она в регистрах/волатилях - такое присваивание самое простое. Иначе надо городить временные переменные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться