[c++] user-defined 리터럴

User-defined 리터럴 생성

#include <iostream>

// 리터럴 접미사 "_deg"가 붙은 사용자 정의 리터럴 생성
constexpr long double operator"" _deg(long double deg) {
    return deg * 3.14159 / 180;
}

int main() {
    // 사용자 정의 리터럴 사용 예
    long double angle = 45.0_deg;
    std::cout << "45 degrees in radians: " << angle << std::endl;
    return 0;
}

위의 예제는 사용자 정의 리터럴 “_deg”를 사용하여 각도를 라디안으로 변환하는 방법을 보여줍니다.

사용자 정의 리터럴 작동 방식

사용자 정의 리터럴은 리터럴의 값 뒤에 접미어(예: “_deg”)를 붙여서 사용됩니다. 이후 이 접미어를 처리하기 위해 사용자가 정의한 함수가 호출됩니다.

사용자 정의 리터럴의 이점

사용자 정의 리터럴을 통해 코드 가독성을 향상시키고 특정 데이터 형식의 사용을 간소화할 수 있습니다. 또한, 라이브러리의 적절한 사용으로 단위 변환 등의 기능을 제공할 수 있습니다.

자세한 내용은 아래 C++ 공식 문서를 참고하세요: https://en.cppreference.com/w/cpp/language/user_literal