-
- С точки зрения компилятора и компьютера - нет разницы. Объявления внутри класса/структуры чуть медленнее, т.к. при доступе будет вычисляться адрес/смешение переменной внутри структуры (компилятор это легко оптимизирует, а процессор закеширует). Тут вопрос в другом - в проектировании и стиле написания программы. Текст программы не только для компилятора, но и для программистов в большей степени. Ваш код допустим, но не рекомендуется к применению, т.к. лучше public для данных Costic(769 знак., 07.01.2022 14:46)
- В голом C это делается через функции get/set, в С++ способов
гораздо больше. Приведенный вами пример тоже используется, когда
переменные принадлежат определенному контексту, lwip целиком на
этом. Подразумевается, что количество глобальных переменных
небольшое, например счетчик системного таймера. Большое количество
глобальных перменных без явной на то необходимости, а также
активное использование extern говорит о низкой квалификации
программиста. evgeniy1294(287 знак., 07.01.2022 13:54)
- get/set все же могут значительно снижать производительность программы, тут и лишние вызовы функций, и нарушение работы оптимизатора. Самое главное, непонятно ради чего? Вместо extern v; имеем extern V getV(); и extern setV(V v); В объявлении функций extern написал специально, что бы показать что он есть, хотя его можно не писать. AlexBi(392 знак., 07.01.2022 15:28)
- Фтопку надо тех, кто десятки файлов делает и свои копирайты с лицензиями везде тычит, а кода 1-2 строчки. Costic(1888 знак., 07.01.2022 14:57)