ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
23 июля
1251225 Топик полностью
Tyмблep (19.10.2022 12:30, просмотров: 161) ответил Dingo на Однако static в разных файлах - нормально допустимо, и для С++ в namespace тоже. В чём опасность?
Опасность такая: 

#ifdef ADC_C

#define SENSOR AAA

#endif

//...

//... прошло 300 строк

#ifdef UART

#define SENSOR BBB

#endif

//...

//... ещё 100500 строк

#ifdef ТРАТАТА

#define SENSOR ХХ-ММ

#endif


Действительно, такое можно написать и будет всё работать.

Мало нам проблем, так ещё совпадение имён - зачем ?

В один прекрасный момент выяснится это совпадение.

Придётся разбираться и вспоминать, что где и когда используется и означает.

И почему сделано именно так.

Особенно доволен будет принимающий такой проект,который

всего этого и не знал никогда.

---

namespace - "это другое" (c)

Фактически это расширение имени с возможным добавлением

тематического обозначения в имя.

static - да, это ограничение области видимости, но не только.

Это ещё и размещение переменной в сегменте данных программы.

Несмотря на возможности, я и для static-а не посоветую (и сам не делаю)

одинаковые имена переменных.