Народ, предлагаю поделиться прикольными кодами.
То есть, чем-то не обычным, что используется не по назначению,
или не очевидным образом.
Для почина.
Не знаю, сталкивались вы или нет с метапрограммированием на темплейтах.
Но этот код из Мэейрса, широкоизвестный в узких кругах,
который вычисляет фактариал на стадии компиляции,
меня приколол:
#include "stdafx.h"
#include <iostream>
template<unsigned n>
struct factorial
{
enum { value = n*factorial<n-1>::value };
};
template<>
struct factorial<0>
{
enum { value = 1 };
};
int _tmain(int argc, _TCHAR* argv[])
{
std::cout << factorial<10>::value << std::endl;
return 0;
}
В примере - факториал от 10.
Проверял на VC++ 2005, работает без проблем .




Тема:
Ответить с цитированием



Социальные закладки