-
Постов
2 638 -
Зарегистрирован
-
Посещение
-
Победитель дней
3
-
Плавный переход C -> C++ под МК
Forger ответил Arlleex тема в Программирование
старинные средневековые традиции, скрепы )) -
Плавный переход C -> C++ под МК
Forger ответил Arlleex тема в Программирование
Чтобы отделить тип от объекта. Это принципиально разные вещи, т.к. одно никогда не сможет стать другим. Например, если тип называется с большой буквы, то точно также может называться его объект: TimeMs timeMs = 0; Если смешивать, то такие записи будут невозможны. -
Плавный переход C -> C++ под МК
Forger ответил Arlleex тема в Программирование
тогда может быть стоит всякие глобальные объекты запихнуть в некие временные глобальные классы, дав им нужный функционал для отслеживания конкуррентного доступа (мьютекс, критическая секция .. )? насколько помню, я пошел именно таким путем, и в последствии такие классы стали синглтонами, а как известно синглтон - это известный костыль, который своим существованием говорит, что он временный и не стоит на него сильно опираться )) -
Плавный переход C -> C++ под МК
Forger ответил Arlleex тема в Программирование
видимо вы не поняли мой вопрос )) вообще, зачем вообще как-тот выделять глобальные от локальных? может показать самому себе особый риск их использования? -
Плавный переход C -> C++ под МК
Forger ответил Arlleex тема в Программирование
так зачем это нужно - выделять их из общей массы? просто давно не пользовался глобальными обеъектами и как-то подзабыл ) -
Плавный переход C -> C++ под МК
Forger ответил Arlleex тема в Программирование
А зачем это нужно? К слову, у меня вообще нет глобальных объектов, кроме локальных с припиской static. Но и когда были, тоже не делал разницы. -
Плавный переход C -> C++ под МК
Forger ответил Arlleex тема в Программирование
А в этом нет нужды - помнить, ибо любая простая переменная когда-то может стать тяжелым классом и впрочем наоборот ) Если еще и этим забивать голову, то код превратиться в некую шифровку, которая становится практически нечитаемой через месяц-полгода паузы над проектом. -
Плавный переход C -> C++ под МК
Forger ответил Arlleex тема в Программирование
а для меня это оказалось весьма пагубной практикой, и в основном от этого как раза довольно жирного (для меня) минуса: Для себя понял одном самое важное в куче правил - чем их меньше и чем они проще, тем легче потом работать со своим же кодом через какое-то время. У меня есть самое главное и простое правило: все типы строго с Большой буквы, а их объекты - с маленькой. Без исключений. Никаких префиксов в типах и именах. Т.е. все как в жизни ) Впрочем, опять уходим во вкусовщину )) -
Плавный переход C -> C++ под МК
Forger ответил Arlleex тема в Программирование
ага, начиная с C++20 )) -
Плавный переход C -> C++ под МК
Forger ответил Arlleex тема в Программирование
Если уж наделять структуры такими заумными возможностями, то, что мешает их надели уже неким "функционалом", некими действиями? 😉 Ведь структура - это по сути класс, а значит может не только хранить данные, но и выполнять разные действия с их передачей, приемом, контролем целостности. Для этого им нужно дать методы передачи своих команд. Например, "дать" во владение некий порт обмена или передать ей метод для работы с тем или иным портом или даже списком портов Таким образом рождается некая иерархия команд: есть базовые, а есть те, которые построены на их основе и дают больше возможностей. Такие команды должны уметь работать с итераторами (списками), чтобы не "перебирать" их вручную. Другой вопрос - насколько это нужно в том или ином проекте. Чем плоха самая обычная структура с безымянным union и т.п? Зачем так усложнять? Ведь должна быть цель, оправдывающая такие усложнения ) -
Плавный переход C -> C++ под МК
Forger ответил Arlleex тема в Программирование
стараюсь структурам не делать двойников по содержанию, но с разными именами, иначе это путает, впрочем, это скорее вкусовщина -
Плавный переход C -> C++ под МК
Forger ответил Arlleex тема в Программирование
должно быть так: using sTxMsgRequest = sTxMsgCommand; -
Плавный переход C -> C++ под МК
Forger ответил Arlleex тема в Программирование
неправильно записано, using используется иначе, у меня компилируется: using sTxMsgCommand = struct { uint32_t cmd, crc; }; sTxMsgCommand command; -
Плавный переход C -> C++ под МК
Forger ответил Arlleex тема в Программирование
да, есть такое )) к слову я давно перешел на using, его проще читать, логично выглядит что ли )) -
вот тебе и обратная совместимость 🤦♂️