什么是1.#INF
以及为什么要强制转换为 a float
或double
防止除以 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