Est-ce que D a 'newtype' (comme dans Haskell).Est-ce que D a 'newtype'?
C'est une question naïve, car je ne fais que passer par-dessus D, mais Google n'a rien trouvé d'utile. Dans Haskell, il s'agit d'une manière de distinguer différents types de la même chose au moment de la compilation, mais sans encourir de pénalités de performance à l'exécution.
par exemple. vous pourriez faire de nouveaux types (doubles) pour les mètres, les secondes et les kilogrammes. Cela causerait une erreur au moment de la compilation si votre programme ajoutait une quantité en mètres à une quantité en secondes, mais serait aussi rapide à l'exécution que si les deux étaient des doubles (ce qui est le cas lors de l'exécution).
Si D n'a rien d'analogue à 'newtype', quelles sont les méthodes acceptées pour traiter les grandeurs dimensionnées?
Merci,
Chris.
Une classe d'emballage mince avec des surcharges de l'opérateur approriate pourrait faire le travail et être optimisée. Mais c'est juste une supposition et une solution assez laide. – delnan
@delnan: En D, vous utiliseriez probablement une structure, pas une classe. – dsimcha
Pendant un moment, j'ai pensé: "newtype? .... comme dans Gundam ????" XD – Klaim