Hello,
It's strange to me that there seems not to be a std::abs<>() function
in STL, with it I can write code like this:
double d = std::abs(-1.0);
int i = std::abs(-1);
Does anybody else have the same feeling?
Being uncomfortable with the abcence of it, I've wrote my own version
in my namespace:
#include
// my abs function
// it works not only for POD types, but also for
// user types that are default constructible and
// support operator<() and unary operator-()
template<class T> T abs(const T & x)
{
static boost::value_initialized<T> zero;
return (x < zero? -x : x);
}
Thanks for any information.
Best regards
Max
-------------------------------------------------------------------
新浪空间——与朋友开心分享网络新生活!(http://space.sina.com.cn/ )