Обсуждение:Шаблоны C++

Последнее сообщение: 7 лет назад от 91.202.198.58 в теме «Инстанцирование»

Метапрограммирование править

Мне кажется, что в статье нужно осветить метапрогрммирование на C++ шаблонами. Вот пример вычисления факториала на этапе компиляции: 79.170.166.66 12:32, 12 сентября 2012 (UTC)Ответить

template<int I> struct fact
{
    enum{v = I*fact<I-1>::v};
};
template<> struct fact<1>
{
    enum{v = 1};
};
template<> struct fact<0>
{
    enum{v = 1};
};

Использовать это так: fact<10>::v. Этот код вернет факториал 10. Естественно, работает только для констант. Сам я статьи писать не умею, поэтому прошу кого-то более опытного осветить в статье эту тему. В статье можно упамянуть книгу А. Александреску "Современное проектирование на С++"(там эта тема хорошо освещается).

 >Я думаю было бы неплохо сделать пример с вычислениями на этапе компиляции, только не с рекурсией.

Инстанцирование править

А этот термин общепринятный? У Александреску в русском переводе я видел слово "конкретизация". 91.202.198.58 14:17, 5 сентября 2016 (UTC)Ответить