Re[2]: количество аргументов из шаблона
От: rg45 СССР  
Дата: 21.11.19 12:10
Оценка:
Здравствуйте, ArtDenis, Вы писали:

AD>Для этого больше подходит препроцессор (например BOOST_PP_ENUM_PARAMS), а не шаблоны


AD>Хотя... с std::index_sequence, предложенный выше, вполне себе вариант


Я еще могу согласиться с тем, что этот способ более привычен (и то с натяжкой). Но вот насчет того, что он лучше — никак. Судите сами, нам так или иначе придется определить макрос содержащий в себе болванку базового класса. Потом нам нужно будет как-то это определение растиражировать — либо вручную, либо при помощи все того же препроцессора (BOOST_PP_REPEAT_). Причем, отдельно для каждого типа параметра в отдельности (не забываем, что среди параметров шаблона Foo, помимо "size_t N", есть еще "typename Arg") — так что по-любому без ручной копипасты не обойтись. В результате вместо шаблона мы получаем то же самое определение, только помещенное внутрь монстровидного макроса, с BOOST_PP_ENUM_PARAMS и кучей слешей. Плюс фиксированное количество воплощений, которое практически наверняка будет и избыточным и недостаточным одновременно (избыточным по поддерживаемому числу параметров и потенциально недостаточным по типу аргумента). Ну и плюс сам факт использования макросов. Так чем же это лучше?
--
Отредактировано 21.11.2019 13:10 rg45 . Предыдущая версия . Еще …
Отредактировано 21.11.2019 13:07 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.