Re[3]: Ключевое отличие шаблона от макроса
От: bnk СССР http://unmanagedvisio.com/
Дата: 09.07.23 10:27
Оценка: +1
Здравствуйте, rg45, Вы писали:

bnk>>Зря заклеймили. Если совсем в принципе, там ведь верно написано, это все для одного и того же — для генерации кода в compile-time


R>Макросы — это ни разу не про компайл тайм — это просто манипуляции с текстом программы, выполняемые ДО передачи этого тескта компилятору. И непонимание принципиальных различий между макросами и шаблонами — это стыдно (для того, кто претендует на звание опытного разработчика С++).


Ты говоришь о технической стороне вопроса, в привязке к плюсам. Под "генерацией кода во время компиляции" имеется в виду все, что происходит от написания кода, до его запуска.
Уж чем он там обрабатывается — дело десятое. Твой "препроцессор" вообще может вообще встроен в "компилятор", и отсутствовать как отдельная сущность.

Как именно производится манипуляция с исходным кодом программы — путем изменения текста, дерева (AST), во время кодогенерации, или еще как, если это хорошо, надежно и удобно работает — совершенно не принципиально.
"Метапрограммирование" на уровне изменения текста работает например в шарпе, и ничего.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.