01:11 

Зима.

Taviskaron
Тёмный
Дети, не используйте мета-программирование, это съест ваш моск.



#define _(X) (cout << #X << " = " << (X) << endl)

template< class H, class T>
struct Cons
{
typedef H Head;
typedef T Tail;
};


class Null {};


template < class L>
struct Length
{
enum {result = 1 + Length< class L>::result };
};

template<>
struct Length< Null >
{
enum { result = 0 };
};


typedef Cons < double, Cons < Cons < double, Cons < int*, Null > > , Cons < char, Null > > > LL;
static void *a = _(Length < LL > ::result); // output is "Length < LL > ::result = 3"

URL
Комментарии
2010-12-02 в 01:13 

Ответы существуют.
грустные, усатые, сдерживающие слезу смайлики

Комментирование для вас недоступно.
Для того, чтобы получить возможность комментировать, авторизуйтесь:
 
РегистрацияЗабыли пароль?

Темнота - друг...

главная