Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.205.56.209] |
|
Сообщ.
#1
,
|
|
|
Всем привет!
Чисто академический интерес. В большинстве литературы рассматривается и разжёвывается вопрос "как", и гораздо меньше уделяется вопросам "когда" и "зачем". В этой теме я хотел бы все же составить списки ситуаций и условий, когда использование метапрограммирования ... А) Обязательно Б) Желательно В) Излишне Qraizer, твой выход Надеюсь тема не улетит в холивары, а займет достойное место в FAQ, ибо затрагивает базу разработки. |
Сообщ.
#2
,
|
|
|
Боюсь, что получится именно что Холивар. По сути вопрос ничем не отличается от "когда нужно, когда возможно, а когда не следует использовать классы". Или там "... функциональщину". Или "... исключения". Та фикъего знает. Кто-то опишет манипулятор
std::ostream operator<<(std::ostream os, const mySuperClass& val); template <typename Ch, typename Tr> std::basic_ostream<Ch, Tr>& operator<<(std::basic_ostream<Ch, Tr>& os, const mySuperClass& val); |
Сообщ.
#3
,
|
|
|
Цитата Qraizer @ Кто тут более прав? Наверное второй, но зависит от... зависит, в общем. Я думаю, что этот вопрос следует рассматривать с точки зрения соответствию принципу "Бритва Оккама". Тогда все станет на свои места Мы же программируем не ради процесса программирования, равно как и применяем те или иные технологии не ради применения. В конечном счете преследуются качественные характеристики процесса: минимизация объема необходимого кода, увеличение скорости кодирования, скорости отладки и тестирования. И как следствие - необходимость получения понятного, неизбыточного кода, возможности повторного использования кода в своей работе. |