Page 26 -
P. 26

Note   소스 실행 방법(검증 환경: clang/g++ 12.0, macOS 10.15.7, Visual Studio Code 1.58.2)
                  # clang++ -stdlib=libc++ -std=<원하는 표준 버전> <소스 파일> <결과 파일>
                   # clang++ -stdlib=libc++ -std=c++17 minMax.cpp minMax



               std::min, std::max, std::minmax 함수의 변종을 간략히 정리하면 다음 표와 같다.

                  표 2-1 std::min, std::max, std::minmax 함수의 변종들
                함수                             설명
                min(a, b)                      a와 b 중에서 최솟값을 리턴한다.

                min(a, b, comp)                프레디케이트 comp를 이용해 a와 b 중에서 최솟값을 찾아서 리턴한다.
                min(이니셜라이저_리스트)                이니셜라이저 리스트에 있는 값 중에서 최솟값을 리턴한다.
                min(이니셜라이저_리스트, comp)          프레디케이트 comp를 이용해 이니셜라이저 리스트의 값 중에서 최솟
                                               값을 구한다.
                max(a, b)                      a와 b 중에서 최댓값을 리턴한다.

                max(a, b, comp)                프레디케이트 comp를 이용해 a와 b 중에서 최댓값을 찾아서 리턴한다.
                max(이니셜라이저_리스트)                이니셜라이저 리스트에 있는 값 중에서 최댓값을 리턴한다.
                max(이니셜라이저_리스트, comp)          프레디케이트 comp를 이용해 이니셜라이저 리스트의 값 중에서 최댓
                                               값을 리턴한다.
                minmax(a, b)                   a와 b 중에서 최솟값과 최댓값을 리턴한다.
                minmax(a, b, comp)             프레디케이트 comp를 이용해 a와 b 중에서 최솟값과 최댓값을 리턴
                                               한다.
                minmax(이니셜라이저_리스트)             이니셜라이저 리스트에 있는 값 중에서 최솟값과 최댓값을 리턴한다.
                minmax(이니셜라이저_리스트, comp)       프레디케이트 comp를 이용해 이니셜라이저 리스트의 값 중에서 최솟
                                               값과 최댓값을 리턴한다.





               2.1.2 std::move

                                      4
               <utility>에 정의된 std::move 는 컴파일러가 리소스를 이동할 수 있게 해주는 강력한 기능이다.
               즉, 소스 오브젝트에 있는 값을 새로운 오브젝트로 옮기는 이동 의미론(move semantics)을 제공
               한다. 이렇게 이동한 소스는 잘 정의됐지만 구체적인 상태는 없다. 대부분 소스의 디폴트 상태가



               4  http://en.cppreference.com/w/cpp/utility/move

         42





     c++_06.indd   42                                                                        2021-11-19   오전 9:25:44
   21   22   23   24   25   26   27   28   29   30   31