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::optionalN3793. 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.
[^] # Re: Remarques diverses et ... tardives
Posté par kantien . 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 lesdata Either a b = Left a | Right b.Et en Ocaml, il y a soit le type
'a option = None | Some of 'asoit 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++ :Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.