C++17 から variant で未設定を明示的にする monostate が使える2021年03月24日 12時19分17秒

variant と shared_ptr で実験したのはかなり前。variant は値が未設定だと、一番最初に指定したデフォルトコンストラクタで呼ばれる値になる。値を設定してないのに nullptr の様な物を指定したいが、nullptr は型ではない。C++17 から std::monostate と言う、この用途の為の型が導入された。
std::variant < std::monostate, int, std::string > var; 

前回