2012-07-14 11 views
5

Powiel możliwe:
Template Metaprogramming - Difference Between Using Enum Hack and Static Constpow (power) realizacja szablon z wiki

proszę wyjaśnić do czego służy enum stosowany w następujących wdrożenia szablonu zasilania.

template<int B, int N> 
struct Pow { 
    // recursive call and recombination. 
    enum{ value = B*Pow<B, N-1>::value }; 
}; 

template< int B > 
struct Pow<B, 0> { 
    // ''N == 0'' condition of termination. 
    enum{ value = 1 }; 
}; 
int quartic_of_three = Pow<3, 4>::value; 

Znalazłem go na wikipedii. Czy w tym przypadku występuje różnica między int i enum?

+0

@user - 'enum' pracował dla niektórych starych kompilatory, jak Borland C++, która nie obsługuje' static const int'. –

Odpowiedz