Arvorezinha - C++ Templates
A pedido de várias famílias, aqui está uma versão da árvorezinha em C++, sem loops. Os loops são avaliados durante a compilação; o código final contém apenas a sequência de caracteres impressos.
#include <iostream>
enum
{
LIMIT = 5+1
};
template <int x>
void inner(void)
{
std::cout << '*';
inner<x-1>();
}
template <>
void inner<0>(void){}
template <int x>
void outer(void)
{
inner<x>();
std::cout << std::endl;
outer<x+1>();
}
template<>
void outer<LIMIT>(void){}
int main(int argc, char **argv)
{
outer<1>();
return 0;
}
3 comentários a “Arvorezinha - C++ Templates”