std::optional型を使ってnullを代入
C++ 17から C#のnull許容型のように、構造体やint型などのプリミティブ型にもnullを代入できるようになりました。std::optionalを以下のように使います。
1 2 3 4 5 6 7 |
#include <optional> ... std::optional<int> value = std::nullopt; //NULLを代入 value = 1 ; //1を代入 |
Visual Studio (2019)で使用する場合はプロジェクトのプロパティの以下の項目で、C++17 or latestを設定するとstd::optionalを使用できるようになります。

Visual Studio 2017でも同様の設定がありますが、なぜか判りませんがビルドエラーになってしまいます。