Dois-je utiliser double ou float?

Quels sont les avantages et les inconvénients de l'utilisation de l'un au lieu de l'autre en C ++?