web-dev-qa-db-fra.com

Pourquoi 'd / = d' ne lance-t-il pas une division par exception de zéro lorsque d == 0?

Je ne comprends pas très bien pourquoi je n'obtiens pas de division par exception de zéro:

int d = 0;
d /= d;

Je m'attendais à obtenir une division par exception de zéro, mais à la place d == 1.

Pourquoi d /= d jette une division par exception zéro lorsque d == 0?

80
Valerii Boldakov

Notez que vous pouvez demander à votre code de générer une exception C++ dans ce cas (et dans d'autres cas) en utilisant des chiffres boost boost. https://github.com/boostorg/safe_numerics

0
Robert Ramey