C ;浮点异常;没有./操作员
C++; Floating Point exception; Without ./ operator
下面的示例来自opencv文档[1]。
Mat H(100, 100, CV_64F);
for(int i = 0; i < H.rows; i++)
for(int j = 0; j < H.cols; j++)
H.at<double>(i,j)=1./(i+j);
这很好。但是在最后一行中,什么是./操作员?如果我将其替换为/给我浮点例外。
因此,在这两种情况下,当i和j为0时,我们都有无穷大;那为什么我们要获得第二种情况的浮点例外?
[1] http://docs.opencv.org/trunk/d3/d63/classcv_1_1_1mat.html
./
不是操作员。点与1
结合,使其成为双常数。等效于此:
1.0 / (i+j+1)
只短一点。
当您省略DOT时,使用整数算术评估表达式,除了0, 0
以外,所有条目都为所有零。
.
字符是1.
双文字的一部分。/
是算术操作员
1. / (i+j+1);
的结果是double类型的值。省略.
字符使其成为1
的整数字面,并且表达式变为:
1 / (i+j+1);
两个操作数都是整数值,结果是整数值。C 代码中的空格对编译器没有任何不同。出于可读性原因,语句应在适当的地方包括空间:
H.at<double>(i,j) = 1. / (i+j+1);
相关文章:
- ArduinoJson 6.15.2:JsonObject没有命名类型
- 没有操作员"=="处理这些操作数
- 没有操作员=的类型向量的实例化
- 运算符重载中没有操作员'=='匹配项
- 如何在没有包含朋友的情况下使用过载操作员
- 没有操作员=匹配这些操作数C ,即使上述操作员已被超载
- C 计算器没有操作员
- C ;浮点异常;没有./操作员
- 用两个参数调用新操作员,但没有分配
- 隐式操作员bool()没有回应我的电话
- 为什么C 流操作器没有呼叫操作员
- 逗号操作员的左右操作数没有效果(警告)
- 没有适当操作员()的类型对象的呼叫
- 我可以在没有流对象的情况下调用流操作员的过载
- 为什么分配操作员没有发生 RVO?(C++)
- 没有正确使用操作员'?'?
- 没有操作员发现升压read_xml功能错误
- SFINAE 过载选择有或没有操作员<<
- 为什么C++没有电源操作员?
- 为什么是“没有可行的操作员过载”