Page 148

할 수 있다. 다음 예는 ratio_less를 사용하는 방법을 보여준다. boolalpha로 부울값인 true 나 false를 출력하는 방법은 13장에서 소개한다. using r1 = ratio<1, 60>; using r2 = ratio<1, 30>; using res = ratio_less<r2, r1>; cout << boolalpha << res::value

<<

endl;

지금까지 설명한 내용을 모두 합치면 다음과 같다. 여기서 ratio는 컴파일 시간 상수이기 때문 에 cout

<<

r1;과 같이 작성할 수 없고, 분자와 분모를 따로 구해서 하나씩 출력해야 한다.

// 컴파일 시간 유리수 정의 using r1 = ratio<1, 60>; cout << "1) " << r1::num

<<

// 분자와 분모를 구한다. intmax_t num = r1::num; intmax_t den = r1::den; cout << "2) " << num << "/"

"/"

<<

<<

den

r1::den

<<

<<

endl;

endl;

// 두 유리수를 더한다. using r2 = ratio<1, 30>; cout << "3) " << r2::num << "/" << r2::den << endl; using result = ratio_add<r1, r2>::type; cout << "4) " << result::num << "/" << result::den << endl; // 두 유리수를 비교한다. using res = ratio_less<r2, r1>; cout << "5) " << boolalpha << res::value

이 코드를 실행한 결과는 다음과 같다. 1) 2) 3) 4) 5)

1/60 1/60 1/30 1/20 false

966 3부 전문가답게 C++ 코딩하기

<<

endl;

Profile for 한빛미디어

전문가를 위한 C++ (개정4판) - 맛보기  

『전문가를 위한 C++』(개정4판)은 새로 추가된 기능과 관련 도구를 비롯해 C++에 대한 모든 내용을 코드와 솔루션 위주로 소개한다. 저자는 실전 프로그래밍에 적용할 수 있는 현실적인 기법을 다양하게 소개하였으며, 본 교재는 C++를 더 깊이 이해하...

전문가를 위한 C++ (개정4판) - 맛보기  

『전문가를 위한 C++』(개정4판)은 새로 추가된 기능과 관련 도구를 비롯해 C++에 대한 모든 내용을 코드와 솔루션 위주로 소개한다. 저자는 실전 프로그래밍에 적용할 수 있는 현실적인 기법을 다양하게 소개하였으며, 본 교재는 C++를 더 깊이 이해하...

Advertisement