Mais um blog inútil.

Maio 25, 2010

Arvorezinha - C++ Templates

Arquivado em: arvorezinha, useless — dcoder @ 11:07

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”

  • Armorfist
    Sem loops? isso nao é standard.
  • mirage
    Deveras interessante, parabéns.
  • [...] sendo, hoje trago-vos uma arvorezinha feita com templates de C++. Sim, eu sei. Já temos uma. Mas isto não me impede de utilizar outras capacidades de C++ para cumprir o mesmo objectivo. Ora [...]