Re: templated constanst
In article <1149872688.630467.262110@h76g2000cwa.googlegroups.com>,
Javier Loureiro <derethorspam@gmail.com> wrote:
how can I write this template without a static member?
-- header --
template <typename Scalar>
struct A
{
static Scalar MAX_VALUE;
};
-- explict instance --
A<float>::MAX_VALUE = FLT_MAX;
A<double>::MAX_VALUE = DBL_MAX;
using it like:
double v = Math<double>::MAX_VALUE;
It?s the only static dependency for my algebra template class...
static member functions ok?? they can be written and not require
separate initialization.
why not use std::numeric_limits<type> or its approach to provide
functions to provide the results as they are not compile time constants
template <class T> class A;
template <> class A<float> {static float max() {return FLT_MAX;}};
template <> class A<double> {static double max() const {return
DBL_MAX;}};
//etc.
// usage: double v = A<double>::max();
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]