Arlleex 187 20 февраля Опубликовано 20 февраля · Жалоба 2 часа назад, EdgeAligned сказал: Кстати, правила форматирования текста - они настраиваются в IDE. Можно же сделать, чтобы блок namespace не сдвигал табуляцию. Выглядеть это будет убого и это мягко сказано)) 9 часов назад, Forger сказал: значит пришло время слазить с "устаревших" 14 и тем более 11 Какой еще такой коммьюнити - "не нужон нам этот ваш коммьюнити" (с)😆 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 20 февраля Опубликовано 20 февраля · Жалоба 12 minutes ago, Arlleex said: Какой еще такой коммьюнити - "не нужон нам этот ваш коммьюнити" это в среде показывает комьюинити, а сам компилятор v6 уже давно полноценно держит 17 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 85 20 февраля Опубликовано 20 февраля · Жалоба 45 минут назад, Arlleex сказал: Выглядеть это будет убого и это мягко сказано) На вкус все фломастеры разные 🤪 внешний вид, особенно по положению скобок и табуляций - дело личных привычек Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 187 21 февраля Опубликовано 21 февраля · Жалоба Слышал я, что в C++ слово typedef уже несколько устарело. Раньше в Си я мог одной и той же структуре назначать псевдонимы в синтаксически "цельном" формате typedef struct { u32 cmd, crc; } sTxMsgRequest, sTxMsgCommand; что было полезно для читаемости кода в контекстно-зависимых местах. Ну, типа, воспользовались Request-структурой, значит на нее будем ждать "ответ" по протоколу обмена. Если Command, то ответа ждать не придется. В C++ структуры определяются уже по-другому, т.е. не нужно писать тэги: но тогда нет возможности в пределах синтаксической единицы - определения - назначить сразу несколько имен этой структуре, приходится отдельно struct sTxMsgRequest { // <- только одно имя u32 cmd, crc; }; typedef /* или using = ... как-то там */ sTxMsgRequest sTxMsgCommand; а отдельно - не красиво, глаз цепляется за это самое "отдельно". Тогда по старинке, как в Си - typedef not must die? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 21 февраля Опубликовано 21 февраля · Жалоба 24 minutes ago, Arlleex said: Слышал я, что в C++ слово typedef уже несколько устарело. да, есть такое )) к слову я давно перешел на using, его проще читать, логично выглядит что ли )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 187 21 февраля Опубликовано 21 февраля · Жалоба 1 час назад, Forger сказал: да, есть такое )) к слову я давно перешел на using, его проще читать, логично выглядит что ли )) Ну как сказать... Вот такое, например, не компилится (по крайней мере щас под рукой C++ Builder) using struct { u32 cmd, crc; } sTxMsgCommand; так что typedef пока что нельзя просто так выкинуть из языка Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 21 февраля Опубликовано 21 февраля · Жалоба 6 minutes ago, Arlleex said: using struct { u32 cmd, crc; } sTxMsgCommand; неправильно записано, using используется иначе, у меня компилируется: using sTxMsgCommand = struct { uint32_t cmd, crc; }; sTxMsgCommand command; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 21 февраля Опубликовано 21 февраля · Жалоба 8 минут назад, Arlleex сказал: Вот такое, например, не компилится using тут не нужен. Он немного для другого: struct { u32 cmd, crc; } sTxMsgCommand; using sTxMsgRequest sTxMsgCommand; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 21 февраля Опубликовано 21 февраля · Жалоба Just now, Сергей Борщ said: using sTxMsgRequest sTxMsgCommand; должно быть так: using sTxMsgRequest = sTxMsgCommand; 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 21 февраля Опубликовано 21 февраля · Жалоба Да, писал из головы :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 187 21 февраля Опубликовано 21 февраля · Жалоба 7 минут назад, Forger сказал: неправильно записано, using используется иначе, у меня компилируется: using sTxMsgCommand = struct { uint32_t cmd, crc; }; sTxMsgCommand command; Ну вот, а у меня нет(( 7 минут назад, Сергей Борщ сказал: using тут не нужен. Он немного для другого: struct { u32 cmd, crc; } sTxMsgCommand; using sTxMsgRequest sTxMsgCommand; Ну как же, sTxMsgCommand теперь не тип, а объект безымянной структуры🙂 Ну и в любом случае, using уже в отдельной строке "в отрыве" от определения структуры. Я хочу лишь услышать, typedef тут и есть серебряная пуля или нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 29 21 февраля Опубликовано 21 февраля · Жалоба В 21.02.2024 в 12:43, Arlleex сказал: Ну вот, а у меня нет(( Насколько я представляю, борланд никогда не придерживался strict ANSI, не говоря о том, в каком году закопали последний с++билдер Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 21 февраля Опубликовано 21 февраля · Жалоба 6 минут назад, Arlleex сказал: Ну как же, sTxMsgCommand теперь не тип, а объект безымянной структуры Это я писал из головы и не успел исправить (отвлекли). struct sTxMsgCommand { u32 cmd, crc; }; using sTxMsgRequest = sTxMsgCommand; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 85 21 февраля Опубликовано 21 февраля · Жалоба using sTxMsgRequest = sTxMsgCommand; А позвольте узнать, а в чем тут выигрыш? Длина имени одна и та же, аргументов не скрыто. Немного поменяли имя - ну дак это так себе, вкусовщина. Лишние переопределения больше запутывают, чем проясняют. Как по мне, так using использовать, когда ... ну самый банальный пример: using PB0 = Pin<GpioA, 5>; PA5::High(); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 21 февраля Опубликовано 21 февраля · Жалоба стараюсь структурам не делать двойников по содержанию, но с разными именами, иначе это путает, впрочем, это скорее вкусовщина Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться