标签: c++ exception
如何根据编译器/芯片级别计算除法?
为什么C ++总是在运行时而不是编译时抛出这些异常(如果在编译时已知除数为零)?
答案 0 :(得分:2)
完全取决于编译器。如果你想为你的编译器写一个扩展来检查这类问题,你可以。
例如visual C ++:
答案 1 :(得分:2)
答案 2 :(得分:1)
答案 3 :(得分:0)
大查找表。还记得那些学校的乘法表吗?同样的想法,但划分而不是乘法。显然不是每一个号码都在那里,但是这个数字被分成几块然后推到桌子上。
除法在运行时进行,而不是在编译时进行。是的,编译器可以看到除数为零,但大多数人不会写这样的无效语句。