Мой тезис не в том что есть мой вариант и неправильный. А в том что
метапрограммирование как оно есть со всеми способами применения,
которые я видел, не очень хороший инструмент, лучше которого можно
найти варианты для достаточно большого кол-ва случаев. Собственно
хорошо оно только там где его невозможно заменить - в области
специфкации шаблонов контейнеров и оно должно кмк там остаться. А с
этой узкой областью справилась бы любая компиляторная магия, вместо
же этого был создан плохой инструмент - офигенно обобщенный, но легко стреляющий в ногу, сложный для восприятия, и с невозможностью отладить.
К примеру упомянутый initializer_list, лямбды показывают что даже в комитете поняли какого монстра родили создав МП и теперь вместо рождения монстров они просто делают узколокализованную магию в нужных местах, где это приносит максимум пользы и не создает проблемм масштаба тех что родились с МП. И кстатит если ты посмотришь на стандартизацию практически применимых кусков МП то увидишь что полезные шаблоны вносят в стл, как раз затем что компилятор мог вместо полноценного разбора МП сразу подставлять свою магию.
Множественное наследование - тоже самое. Есть абстрактные примеры где оно типа дает преимущество по мнению автора примера, обычно оно замеряется числом строчек кода. Но архитектура - гибкая сущность, вполне можно сделать тоже самое без множественного наследования. И скорее всего всё что автор выигрывает в скорости написания кода на компактном примере, он проиграет в его поддержке когда проект разрастется или проиграет тот кто придет после. Если у тебя есть жизненный контрпример я бы с удовольствием на него посмотрел.
Можно пользоваться плохими инструментами, особенно если выбора нет, но считать их идеальными, за то что они безальтернативны в конкретном языке, или какими-то особенными - нет нужды. И давай сравнивать не с C#, Java (которые все таки прикладные языки) и не с С (который еще на поколение старше), а с к примеру rust'ом, который тоже системный язык. И многое там сделано с оглядкой на опыт плюсов и получилось лучше.