SFINAE. Как много в этом слове

Одной из наиболее сложных для понимания функциональностей в C++, по праву считаются шаблоны. Нет, не их простейшее применение — здесь, как правило, у людей не возникает больших проблем. Проблемы возникают тогда, когда с использованием шаблонов начинают писать код, который порождает другой код, т.е. писать код на языке шаблонов — это называется метапрограммирование. Многие люди, увидев подобный код, впадают в состояние транса — тут ещё хуже чем с указателями, если указатели не все понимают, то с шаблонами дело обстоит ещё хуже. [Ещё]

Старая новая техника: CRTP

В последнее время в сети всё больше встречается вопрос: а что такое CRTP? А зачем оно нужно? А есть ли смысл его использовать? С другой стороны, растёт и количество статей пытающихся ответить на вопросы страждущих. Только ленивый ещё не написал свою версию статьи по CRTP., поэтому,  чтобы не пр... [Ещё]