[c++] C++ 표준 라이브러리에서의 함수 오버로딩

1. std::to_string 함수

std::to_string 함수는 숫자를 문자열로 변환하는 역할을 합니다. 이 함수는 정수나 부동 소수점 수를 매개변수로 받아 해당하는 값을 문자열로 변환해줍니다. 이를 통해 다양한 자료형의 값을 문자열로 변환하는 코드를 간단히 작성할 수 있습니다.

예시:

#include <iostream>
#include <string>

int main() {
    int num = 123;
    std::string numStr = std::to_string(num);
    std::cout << "숫자를 문자열로 변환한 결과: " << numStr << std::endl;
    return 0;
}

2. std::sort 함수

std::sort 함수는 컨테이너의 요소들을 정렬하는 역할을 합니다. 이 함수는 다양한 데이터 타입을 지원하며, 템플릿을 이용하여 함수 오버로딩을 구현해 다양한 자료형을 정렬할 수 있습니다. 예를 들어 정수 배열이나 문자열 배열을 정렬하는 경우, 각각에 맞는 오버로딩된 std::sort 함수를 활용할 수 있습니다.

예시:

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> numbers = {3, 1, 4, 1, 5, 9};
    std::sort(numbers.begin(), numbers.end()); // 정수형 배열을 정렬하는 경우
    for (int num : numbers) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    std::vector<std::string> words = {"apple", "banana", "grape", "orange"};
    std::sort(words.begin(), words.end()); // 문자열형 배열을 정렬하는 경우
    for (const std::string& word : words) {
        std::cout << word << " ";
    }
    std::cout << std::endl;

    return 0;
}

요약

C++ 표준 라이브러리에서도 함수 오버로딩은 다양하게 활용됩니다. 다양한 자료형에 대해 유연하게 처리할 수 있도록 구현된 함수 오버로딩은 프로그래밍을 보다 효율적이고 유연하게 만들어줍니다.

참고 문헌: