• # Double et C++

    Posté par . En réponse au message Marquer un double comme étant non élaboré.. Évalué à 3.

    Lis la norme IEE-754-1985 qui définit les nombres à virgule flottante. Il précise que les valeurs INF et Nan sont définies, et gcc/g++ sait les gérer. C'est Nan que j'utiliserais (puisque c'est vrai).

    En C++, tu peux définir une classe dérivant immédiatement de double pour éviter les transtypages et autres.

    class ElaboratedDouble : public double
    {
    public:
    bool defined;
    }

    Tu peux également redéfinir l'opérateur de casting (double) (même si redéfinir les opérateurs de casting pose toujours plus de problème que cela n'en résoud) et tenter de lancer une exception si la valeur n'est pas définie.