[c++] std::optional

C++17에 추가된 std::optional은 값이 있을 수도 있고 없을 수도 있는 상황을 다룰 때 유용한 템플릿 클래스입니다.

사용 예시

다음은 std::optional의 간단한 사용 예시입니다.

#include <iostream>
#include <optional>

std::optional<int> getOptionalValue(bool condition) {
    if (condition) {
        return 42;
    } else {
        return std::nullopt;
    }
}

int main() {
    auto value = getOptionalValue(true);
    if (value.has_value()) {
        std::cout << "Value: " << value.value() << std::endl;
    } else {
        std::cout << "No value" << std::endl;
    }

    return 0;
}

위의 예시는 std::optional을 사용하여 값을 반환하고 사용하는 간단한 예시입니다.

특징

std::optional은 값의 존재 유무를 명확하게 표현하고, 이를 통해 코드의 가독성과 안정성을 높일 수 있습니다.

참고 자료