#include <iostream>
#include <limits>
template <typename T>
std::string check()
{
T def = T(), // initialized with 0
min = std::numeric_limits<T>::min(),
max = std::numeric_limits<T>::max();
return min < def && def < max ? "true" : "false";
}
int main()
{
std::cout
<< "int: " << check<int>()
<< ", double: " << check<double>()
<< std::endl;
return 0;
}