Mais um blog inútil.

Maio 25, 2010

Arvorezinha – C++ Templates

Filed under: Arvorezinha,Useless — dongs @ 12: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”

  1. Armorfist diz:

    Sem loops? isso nao é standard.

  2. mirage diz:

    Deveras interessante, parabéns.

  3. [...] 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 [...]

Comentar

widgeon
widgeon
widgeon
widgeon