Optional Parameters
std::optional
Declare optional parameter:
#include <optional>
std::optional<int> opt_int;
Set value:
opt_int = 3;
Check if it has a value:
opt_int.has_value();
Get value:
opt_int.value();
// Throws std::bad_optional_access if value not present
Get value, and set a default if value not present:
opt_int.value_or(0);
Reset optional parameter to empty:
opt_int.reset();
// or
opt_int = std::nullopt;
Conditional / Ternary Operator
// Calls `Process()` on member_ if member_ has
// a value, otherwise returns false.
return member_ ? member_.value().Process() : false;
Last updated