1

簡単な質問: Pascal には元の標準 (ISO 7185) に境界チェックが含まれていますか?

どこにも言及されていない ( http://www.pascal-central.com/standards.html ) か、私が盲目なだけかもしれません。

一部の Pascal コンパイラでは、境界をチェックするかどうかを選択できることを知っています。私にとって重要なのは、その標準ではどのようになっているのかということです。

4

1 に答える 1

3

私はしばらくの間標準を見ていないので、私の知識は少し錆びていますが、はい、境界チェックは標準に含まれています (ISO 7185)。標準では、1. 配列インデックスが有効であること ( Indexed-variablesを参照)、および 2. すべての値が代入先の変数と互換性があること (代入互換性を参照) が必要です。

ただし、標準では、エラーは「プロセッサが検出されないままにしておくことが許可されているこの国際標準の要件に対するプログラムによる違反」であるとも述べています (「エラー」を参照)。無効な配列のインデックス付けと範囲外の割り当ては、その標準に違反しており、エラーです。

于 2016-04-30T08:57:25.370 に答える