Soruya geçmeden önce birkaç şeyden söz edeyim.
Dize her zaman bulunmalıysa (programlayıcı hatası değilse), isteğe bağlı olarak kullanmak yerine kullanamazsanız, muhtemelen atmanız gerekir. Kullanıcı girişi olsa bile, yakalamayı/atmayı denemek isteyebilirsiniz.
Sınıfınız konteynır gibi konteynırı taklit ediyorsa, bulunmadığını belirtmek için bir end
sentinel kullanmayı düşünmelisiniz, null değil.
If however returning a null representation is what you're after, your function return type would be boost::optional
and the null return would be return boost::none;
.