Информация об изменениях

Сообщение Re[3]: constexpr от 15.01.2023 12:34

Изменено 15.01.2023 12:39 rg45

Re[3]: constexpr
Здравствуйте, LuciferSaratov, Вы писали:

R>>А вот тебе про #define: 16. Избегайте макросов


LS>объясните мне, пожалуйста, почему следует избегать макросов?

LS>доводы из статьи по ссылке я встречал много раз.
LS>меня они не убеждают и входят в противоречие с моим личным опытом.
LS>я не претендую на звание эксперта по С++, но в своей работе я много работаю с кодом на этом языке.
LS>специфика такая, что мне приходится работать со старым (10+ лет) и очень старым (20+ лет) кодом разного качества.

"Избегайте" не означает "полностью исключите". "Избегайте" означает, не употребляйте там, где без этого можно обойтись. Почему так — в статье написано достаточно хорошо, по-моему. Если статья не убеждает, то у меня тоже вряд ли получится.
Re[3]: constexpr
Здравствуйте, LuciferSaratov, Вы писали:

R>>А вот тебе про #define: 16. Избегайте макросов


LS>объясните мне, пожалуйста, почему следует избегать макросов?

LS>доводы из статьи по ссылке я встречал много раз.
LS>меня они не убеждают и входят в противоречие с моим личным опытом.
LS>я не претендую на звание эксперта по С++, но в своей работе я много работаю с кодом на этом языке.
LS>специфика такая, что мне приходится работать со старым (10+ лет) и очень старым (20+ лет) кодом разного качества.

"Избегайте" не означает "полностью исключите". "Избегайте" означает, не употребляйте там, где без этого можно обойтись. Почему так — в статье написано достаточно хорошо, по-моему. Макросы не подчиняются правилам областей видимости, на функциональные макросы не распространяется ADL и пр. Если статья не убеждает, то у меня тоже вряд ли получится.