ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
20 апреля
1163810 Топик полностью
AlexBi (13.01.2022 09:11, просмотров: 292) ответил VladislavS. на Куда я попал.... :( Сами посмотрите как этот макрос будет работать в таком месте?
Давайте посмотрим на это с другой стороны. Например, исходное состояние, вы пишете какую-то программу и вам там понадобилось поставить 100 ноп-ов. Ни каких макросов или шаблонов у вас еще нет. Какие варианты? 

Можно прямо тут написать пару строчек с дефайнами и продолжить кодить целевую задачу.

Можно, как вы предлагаете, написать шаблон, который будет вставлять 100 НОП-ов. Но, немного подумав, можно решить что когда этот шаблон будет использоваться в другом месте потребуется не 100 НОП-ов, а какое-то другое число НОПов, тогда шаблон немного усложняется и добавляется параметр N. Еще немного подумав возникает идея, что потребуется повторять не НОПы, а другую функцию, шаблон еще немного параметризируется и усложняется. Еще подумав, появляется идея, что у функции могут быть параметры, добавляем в шаблон параметры. Еще подумав добавляем вариант, когда N не константа. Еще подумав добавляем вариант, когда в параметры передается номер итерации. Еще подумав, добавляем вариант реализации через for в зависимости от N. Еще подумав добавляем .... При этом решение целевой задачи стоит на месте. А этот шаблон в проекте больше не используется, потому что через месяц, когда еще раз понадобилось вставить 100 НОПов, вы уже не помните, что у вас есть такой замечательный шаблон :). А еще через пару месяцев компилятор найдет две одинаковые функции по 100 НОПов и оформит их как функции, т.к. inline не требование, а всего лишь рекомендация, и может получиться веселый квест по поиску лишней задержки, с внимательным изучением ставшего весьма кучерявым шаблона.

А вообще, я на плюсах не пишу, знаю их очень поверхностно, последние обновления практически не знаю. Пытаюсь понять что полезного для себя я упускаю, не считая зарплаты "тех кто знает". Ваши сообщения в этом плане полезны для меня.