Здравствуйте yvb, Вы писали:
yvb>Здравствуйте Anatolix, Вы писали:
yvb>не один раз высказывалось, что в C++ не хватает (настоящих) модулей. yvb>Об этом был мой вопрос.
Это мнение классика(Бьерн страуструп). Да
действительно #define переходит границу модуля программирования.
Но это просто одно из средств, #define лучше вообще не использовать,
если не уверен. Их заменяют шаблоны и инлайновые функции.
Б.С. В следующей редакции C++ хочет чтобы #define не выходил
за пределы .h(из книжки дизайн и эволюция C++).
Но непонятно будет это сделано или нет. Слишком много
кода написано.
Что по поводу общего ответа C++ поддерживает модули
(не смотря на #define Его вконце концов можно
и отменить #undef в конце модуля.)
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев