问题标签 [range-checking]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4906 浏览

delphi - 只对一小部分代码关闭 Delphi 范围检查

如何关闭对文件一部分的范围检查。关闭很容易,但我以后如何恢复到项目设置?下面的伪代码应该解释它:

0 投票
5 回答
2209 浏览

c++ - 在编译时检查指定的值是否在类型的范围内

是否可以检查:

我的意思是,是否可以检查用户提供的值是否“适合” IntType(可以是任何标准整数类型)类型?例如,我想检测这样的事情:

0 投票
2 回答
3504 浏览

fortran - 为什么在明确写入数组边界时没有运行时错误?

我有一个程序,它分配了一个超出其界限的数组,我期待会抛出一个运行时错误。然而根本没有引发错误,程序继续写入未声明的内存。是否有一些编译器选项可以防止这种情况?通过显示的内存转储,很明显这种越界是真实的。有没有办法声明变量或参数规范来捕捉这个?显然,这是一个明显的案例,但是当负责维护数千行 F77 派生代码时,(对我来说)这是否可能发生并不总是很清楚。

编译器是 Intel Fortran 2011 XE,是的,我正在使用字节规范INTEGER*4,因为我知道我得到了什么。

以下是运行时检查的编译器选项。 编译器选项

<code>R</code> 变量的内存

0 投票
1 回答
1319 浏览

delphi - 为什么“i := i + 1”不给整数和更大类型的范围检查错误?

考虑:

如果我声明i为 Byte、Word、Shorint 或 TinyInt,我会得到一个范围检查错误,正如预期的那样。如果我声明i为 LongWord、Cardinal、Integer、LongInt 或 Int64,它只会通过 while 循环并显示负值或 0 值,i当您通过上限时会显示该值。

Delphi 7 不支持 32 位和 64 位数字的范围检查吗?

0 投票
1 回答
170 浏览

delphi - 我可以为没有接口的单元设置 {$RangeChecks on} 吗?

我有一个包含很多表单和单元(没有接口)的delphi项目,我放置“{$RangeChecks on}”的表单捕获了超出范围的异常,但是当我将它添加到包含类的单元时它没有捕获异常,是否有助于捕获该单元中的索引异常?

0 投票
1 回答
105 浏览

java - 带正数和负数的 RangeCheck

我正在开发一个有图表的小游戏。这个想法是我在目标位置(由上限和下限指定)尚未满足(在 0.5 以内)时执行操作。例如,如果我以 (7,7) 为目标,则当 x 和 y (在本例中)介于 6.5 和 7.5 之间时,循环应该停止。

但是,当出现负数时,出现以下情况给我带来了问题:

例如:如果我有目标 (-7,-7),那么当 x 或 y 值之一在范围内时,循环将停止,而不是两者都在。

基本上,我的想法是根据 x 或 y 是否为正来创建四个不同的循环。但我想知道是否有更简单的方法?(我确实尝试使用 Math.abs() 来抵消负数,这很有效,但注定要 (-3,-3) 的东西仍然可以在 (3,3) 处停止)

0 投票
7 回答
5817 浏览

c++ - 检查整数类型是否适合可能不同(整数)类型的值的函数

是否可以创建一个模板函数来检查原始数据类型是否可以适合可能不同的原始数据类型的值?让我们暂时将范围限制为整数类型。

更准确地说:是否可以创建一个“一刀切”的模板化函数,但不会收到编译器警告(布尔表达式总是真/假,有符号/无符号比较,未使用的变量)并且没有禁用编译器警告检查?这些函数还应该在运行时限制尽可能多的检查(所有微不足道的情况都应该在编译时排除)。如果可能的话,我宁愿避免使用 C++11 等的扩展(除非存在“旧”C++ 的“快速”替换)。

注意:“值”在编译时是未知的,只有它的类型。

预期行为示例:

输出:

在此处此处测试您的代码。

检查此处生成的程序集。

这个问题的灵感来自这篇文章

0 投票
1 回答
120 浏览

templates - 绑定模板的实例化器函数无法编译

我正在尝试为我的Bound模板包装器实现一个实例化器函数,但我无法让它工作。我需要这个来说服工作人员我们应该从 Ada 切换到 D。

我想要这个模板

被实例化为

那就是我希望第一个模板参数T由模板参数的值minmax. 但是如何指定具有默认值的模板参数呢?

当然我总是可以

但是如何制作bound模板?

0 投票
1 回答
1569 浏览

java - 可以使用异常检查数组边界吗?

我想检查给定的坐标是否包含数组。

我可以那样做吗?这是一种有效的方法吗?

0 投票
1 回答
1099 浏览

c++ - 在 C++ 中扩展迭代器

我正在尝试实现一个迭代器,它封装了另一个迭代器并执行范围检查。因此我像这样从那个迭代器扩展:

我想使用在构造函数中传递的迭代器来执行范围检查。我的想法是将“this”迭代器(即r_iterator)指向的东西设置为构造函数中的“begin”迭代器指向的元素。我想这样做,以便我可以覆盖某些方法,例如 operator++,执行范围检查,然后调用我正在扩展的类的超级方法。

因此,我想知道是否有可能以某种方式设置“this”-iterator (r_iterator) 指向的元素,假设我正在扩展一些 STL Iterator 类。

不幸的是,我在 c++ 参考中找不到任何相关信息。

问候和感谢