Re[10]: чем плохи шаблоны? в избранное  новое ответить всё   подписка   модер. 
От: Alexey F 
Дата: 04.02.12 12:01
Здравствуйте, CodingUnit, Вы писали:

CU>Может я не так понимал тьюринг полноту, я просто сразу вижу что на С++ я могу написать любую программу, а на шаблонах нет. Действительно вопрос вроде ясен, если даже и оставить все эти термины за шаблонами.

А спор был только из-за термина тьюринг-полноты. Шаблоны и brainfuck у нас так, под руку подвернулись . (Возможно, я повторяюсь, пару раз форум ошибку выплёвывал)

CU>С этим очень много ограничений, например помоему невозможно вызвать шаблон T с параметрами шаблона T<T2, T3>, ведь T еще не определен, тут придется изловчаться с инстанционированием

Можно:
template<class T, class U>
struct Node {
    typedef T head;
    typedef U tail;
};

template<class T, class U>
struct Test2 {
    typedef Node<T, U> result;
};

template<template<class, class> class T, class U, class Z>
struct Test {
    typedef typename T<U, Z>::result result;
};


typedef Test<Test2, int, double>::result A;

Можно свести к синтаксису T::Func<A, B>, если изменить Test2.