Page 24 -
P. 24

유틸리티(utility)란 특정 영역에 국한되지 않고 다양한 용도로 활용할 수 있는 도구를 말한다. 이
               장에서 소개하는 함수와 라이브러리가 바로 유틸리티에 해당한다. 2장에서는 임의의 값을 넣거나
               새 함수를 생성해서 변수에 바인딩하는 데 사용할 수 있는 함수를 소개한다. 원하는 타입의 값을

               페어(pair)나 튜플(tuple)에 저장할 수도 있고, 값에 대한 레퍼런스를 만들 수도 있다. 스마트 포인
               터를 활용하면 C++로 자동 메모리 관리 기능을 구현할 수 있다. 또한, 타입 트레이트(type trait)를
               이용하면 타입에 대한 정보를 알아낼 수 있다.






               2.1        유용한 함수들                           C++ STANDARD LIBRARY







               min, max, minmax에 대한 다양한 변종 함수는 값이나 이니셜라이저 리스트에 적용할 수 있다. 이런
               함수를 사용하려면 <algorithm> 헤더를 인클루드해야 한다. std::move, std::forward, std::swap

               함수도 임의의 값에 대해 호출할 수 있다. 이 세 함수는 <utility> 헤더에 정의돼 있다.




               2.1.1 std::min, std::max, std::minmax


                                       1
                                                2
                                                           3
               <algorithm>에 정의된 std::min , std::max , std::minmax  함수는 값 또는 이니셜라이저 리스트
               (initializer list)를 입력받아서 결과를 리턴한다. std::minmax는 결괏값을 std::pair로 리턴한다. 페
               어의 첫 번째 원소가 최솟값이고, 두 번째 원소가 최댓값이다. 이 함수에 적용되는 디폴트 연산자
               는 <이지만, 다른 비교 연산자를 지정할 수도 있다. 이 함수는 인수 두 개를 받고 불 타입 값 하나
               를 리턴한다. 이렇게 true나 false를 리턴하는 함수를 프레디케이트(predicate)라고 부른다.

                std::min, std:::max, std::minmax 함수

                 // minMax.cpp
                 …
                 #include <algorithm>



               1  http://en.cppreference.com/w/cpp/algorithm/min
               2  http://en.cppreference.com/w/cpp/algorithm/max
               3  http://en.cppreference.com/w/cpp/algorithm/minmax

         40





     c++_06.indd   40                                                                        2021-11-19   오전 9:25:43
   19   20   21   22   23   24   25   26   27   28   29