1.#INF
とは何ですか?また、float
またはdouble
へのキャストは、0のクラッシュによる除算を防止するのはなぜですか?
また、0による除算を防止する方法の素晴らしいアイデアですか? (マクロやテンプレートのように)?0除算による除算
int nQuota = 0;
int nZero = 3/nQuota; //crash
cout << nZero << endl;
float fZero = 2/nQuota; //crash
cout << fZero << endl;
私の代わりに使用している場合:
int nZero = 3/(float)nQuota;
cout << nZero << endl;
//Output = -2147483648
float fZero = 2/(float)nQuota;
cout << fZero << endl;
//Output = 1.#INF
すごく面白いです。答えを楽しみにしています。 –
これはあなたにとって興味深いかもしれません:http://blog.regehr.org/archives/721 – cppanda