Was hat Alexandrescu gegen optional<T>?
-
Hallo,
weiß zufällig jemand, was Andrei Alexandrescu an optional<T> auszusetzen hat? In diesem Talk zu expected nennt er (ohne näher darauf einzugehen) std::optional<T> ein "monument of bad design" und "the worst thing that ever happened to humankind" und boost::optional<T> "the second worst thing that has ever happend".
Hat er schon mal an anderer Stelle erklärt, was er damit meint? Konnte dazu nichts weiter finden.
-
Wenn ich mich richtig erinnere, hat er sich darüber beklagt, dass es jetzt noch mehr undefiniertes Verhalten gibt. Im Kontext von
optional
bezieht sich das wahrscheinlich aufoperator*
undoperator->
. Die darfst Du nämlich nur benutzen, wenn Du Dir sicher bist, dass dasoptional
Object auch tatsächlich einen Wert speichert.