Reading about std::optional, I'm confused about what is the standard way to assign a value of something and nothing to an optional.
I guess operator= would be the standard mechanism to assign a value to an optional. Seems to work. Does this imply a copy of the underlying object?
What is the standard method to assign nothing? I've seen x = {} (which makes no sense to me as {} is an empty block) and x = std::nullopt.