• [^] # Re: Remarques diverses et ... tardives

    Posté par . En réponse au journal Gestion de l'erreur - C++ - std::optional. Évalué à 1.

    Effectivement c'est une meilleure approche si on veut plus d'information sur la raison de l'échec.

    Dans le même genre, à la place des Maybe a, en Haskell on peut utiliser les data Either a b = Left a | Right b.

    Et en Ocaml, il y a soit le type 'a option = None | Some of 'a soit le type ('a, 'b) result = Ok of 'a | Error of 'b.

    Ce qui correspond à la classe std::expected<T,E> proposée pour le C++ :

    Class template expected<T,E> proposed here is a type that may contain a value of type T or a value of type E in its storage space. T represents the expected value, E represents the reason explaining why it doesn’t contains a value of type T. The interface and the rational are based on std::optional N3793. We can consider expected<T,E> as a generalization of optional<T>.

    Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.