web-dev-qa-db-ja.com

d == 0のときに「d / = d」がゼロ除算例外をスローしないのはなぜですか?

ゼロ除算の例外が発生しない理由がよくわかりません。

int d = 0;
d /= d;

ゼロ除算による除算が得られると期待していましたが、代わりにd == 1

なぜd /= dの場合、ゼロ除算例外をスローしますd == 0

80

ブーストセーフ数値を使用することで、コードでC++例外を生成することができます(その他の場合)。 https://github.com/boostorg/safe_numerics

0
Robert Ramey