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 auf operator* und operator-> . Die darfst Du nämlich nur benutzen, wenn Du Dir sicher bist, dass das optional Object auch tatsächlich einen Wert speichert.


Log in to reply