c++ function templates and memory hogging
Guido Loupias
guidoloupias@gmail.com
Wed Dec 10 20:54:00 GMT 2008
Mojmir Svoboda schreef:
> i do not attempt to answer your problem, but i thought traditional way to do
> compile-time computation was like:
>
> template<int N>
> struct fib {
> static int const n = fib<N-1>::n + fib<N-2>::n;
> };
> template<>
> struct fib<0> {
> static int const n = 0;
> };
> template<>
> struct fib<1> {
> static int const n = 1;
> };
>
> (or using enums) which behaves much better for me. local gurus will probably
> explain best why..
>
> best regards,
> mojmir
You're right. Judging from the resulting object file it's much cleaner and it
also works for large values of N. Still I wonder why the second function
template version of the algorithm in my previous e-mail behaves the way it does.
Perhaps it's doing computation on 2^N integers?
Regards,
Guido
More information about the Gcc-help
mailing list