수치 타입은 일반적으로 플랫폼에 종속적인 제한값을 가진다. STL는 제한값들을 numeric_limits 템플릿 클래스로 제공
타입의 안정성을 도모하고 프로그래머가 제한값을 작성할 수 있다.
namespace std{
//int를 위한 수치제한
template <> class numeric_limits<int>{
public:
//int의 수치 제한을 위한 전문화가 존재함
static const bool is_spcialized = true;
static T min() throw{
return -2147483648;
}
static T max() throw{
return 2147483647;
}
static const int digits = 31;
일반적인 numeric_limits템플릿과 표준 전문화는 <limit>헤더파일에서 제공된다. 전문화는 수치값으로 표현될수있는 기본적인 타입을 위해 제공된다.
멤버는 책 p92페이지참고
예제는
cout <<"max(short):" <<numeric_limits<short>::max()<<endl;
cout <<"is_signed(char):"
<<numeric_limits<char>::is_specialized << endl;
max(short) : 32767
is_signed(char) : false;
타입의 안정성을 도모하고 프로그래머가 제한값을 작성할 수 있다.
namespace std{
//int를 위한 수치제한
template <> class numeric_limits<int>{
public:
//int의 수치 제한을 위한 전문화가 존재함
static const bool is_spcialized = true;
static T min() throw{
return -2147483648;
}
static T max() throw{
return 2147483647;
}
static const int digits = 31;
일반적인 numeric_limits템플릿과 표준 전문화는 <limit>헤더파일에서 제공된다. 전문화는 수치값으로 표현될수있는 기본적인 타입을 위해 제공된다.
멤버는 책 p92페이지참고
예제는
cout <<"max(short):" <<numeric_limits<short>::max()<<endl;
cout <<"is_signed(char):"
<<numeric_limits<char>::is_specialized << endl;
max(short) : 32767
is_signed(char) : false;