[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
은 값을 가질 수도 있고 없을 수도 있다는 것을 명시적으로 표현할 수 있습니다.std::optional
은 값을 확인하기 위한has_value
와 실제 값을 가져오기 위한value
함수를 제공합니다.- C++17 표준부터 표준 라이브러리에 포함되어 있으므로 추가적인 라이브러리를 설치할 필요가 없습니다.
std::optional
은 값의 존재 유무를 명확하게 표현하고, 이를 통해 코드의 가독성과 안정성을 높일 수 있습니다.