[c++] 함수 오버로딩과 람다 표현식

C++은 다양한 기능을 제공하며, 그 중에서도 함수 오버로딩람다 표현식은 매우 유용한 기능이다.

함수 오버로딩

함수 오버로딩은 함수의 이름이 같지만 매개변수의 개수나 자료형이 다른 여러 개의 함수를 정의하는 것을 말한다. 예를 들어, 동일한 이름의 함수를 정수형과 실수형 매개변수에 대해 각각 다른 로직으로 정의할 수 있다.

아래는 함수 오버로딩의 간단한 예제이다.

#include <iostream>

void print(int num) {
    std::cout << "정수: " << num << std::endl;
}

void print(double num) {
    std::cout << "실수: " << num << std::endl;
}

int main() {
    print(5);
    print(3.14);
    return 0;
}

람다 표현식

람다 표현식은 익명 함수를 만들어서 사용하는 기능으로, 간단한 함수를 간결하게 표현할 수 있다. 람다는 []를 사용하여 캡처 블록을 정의하고, () 내부에 매개변수를 선언하며, ->를 사용하여 반환형을 지정하고, {} 내부에 함수의 몸체를 작성한다.

아래는 람다 표현식을 사용하는 간단한 예제이다.

#include <iostream>

int main() {
    int a = 5;
    int b = 3;

    auto add = [](int x, int y) -> int { return x + y; };

    std::cout << "합: " << add(a, b) << std::endl;

    return 0;
}

함수 오버로딩과 람다 표현식은 C++ 프로그래밍에서 다양한 상황에 유용하게 활용될 수 있는 기능으로, 코딩을 더욱 효율적으로 만든다.

참고 자료

그럼 즐거운 코딩 되시길!