std::optional C++17 ile eklenmiş yeni bir tiptir. std::optional kullanarak, bir değer içeren veya null (geçerli değer içermeyen) değere sahip değişkenler tanımlayabilirsiniz. Yani özünde bir değer ve bir değer içerip/içermediğini ifade eden bir flag barındıran bir değişken tanımlayabiliriz. Bu özellik c++ için yaygın kullanılan boost kütüphanesinde zaten uzun yıllardır mevcut idi(boost::optional). Bu yazı kapsamında C++ ile optional kullanımına dair bir örnek paylaşılmıştır.