Re: C++ времени компиляции - как отлаживать?
От: vsb Казахстан  
Дата: 07.07.23 03:03
Оценка: 6 (1) +2 :)
Я на С++ лишь любитель, так что моё мнение нужно воспринимать, конечно, аккуратно.

Лично я считаю, что код времени компиляции в общем случае это плохо.

Он уместен лишь в очень небольших объёмах там, где его использование очевидно, понятно и подчиняется неким общепринятым паттернам.

Тот же static assert идеален там, где и без него вылезет ошибка. Но со static_assert эта ошибка будет понятной, не на 5 экранов инстанцирования шаблонов, в которых потом полчаса будешь вкуривать, что, собственно, пошло не так.

А когда на коде времени компиляции делают, к примеру, полноценные парсеры, это полная дичь и таким даже пользоваться не стоит, не то, что самому такое делать.

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

То, что что-то можно сделать, не означает, что это нужно делать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.