[c++] noexcept와 오버로딩 함수

noexcept

noexcept는 함수가 예외를 발생시키지 않음을 나타내는 C++ 키워드입니다. 이것은 컴파일러에게 특정 함수에서 예외가 발생하지 않음을 알려줍니다. 따라서 해당 함수가 예외를 던지지 않는다는 것을 보장할 수 있습니다.

void myFunction() noexcept {
    // 예외를 발생시키지 않음
}

그러나, 만약 noexcept 함수 내부에서 예외가 발생하면 std::terminate()가 호출되어 프로그램이 종료됩니다.

오버로딩 함수

C++에서는 두 개 이상의 함수가 동일한 이름을 가질 수 있습니다. 이를 함수 오버로딩이라고 합니다. 함수 오버로딩은 함수의 매개변수의 수나 타입이 다르거나 상수성만 다를 때 발생할 수 있습니다.

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

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

컴파일러는 호출된 함수에 가장 잘 맞는 오버로딩 함수를 선택하여 실행합니다.

두 가지 키워드 모두 코드를 더 안정적으로 만들어주며, 함수의 동작을 명확하게 정의합니다.

더 많은 정보를 찾고 싶다면 cplusplus.com를 방문해보세요.

이상으로 C++의 noexcept와 함수 오버로딩에 대해 알아보았습니다. 부디 도움이 되었기를 바랍니다!