次の方法で共有


SafeInt 関数

SafeInt ライブラリには、SafeInt クラスのインスタンスを作成せずに使用できるいくつかの関数が用意されています。整数オーバーフローが発生しないように単一の数値演算を保護する場合に、これらの関数を使用します。複数の数値演算を保護する場合は、SafeInt オブジェクトを作成する必要があります。これらの関数を繰り返し使用するよりも、SafeInt オブジェクトを作成した方が効率的です。

これらの関数により、2 つの異なる型のパラメーターに対して、比較または数値演算の実行が可能です。事前に同じ型に変換する必要はありません。

これらの関数にはそれぞれ、T と U という 2 種類のテンプレートの型があります。これらの型は、ブール型、文字型、整数型のいずれかになります。整数型は signed 型または unsigned 型となり、8 ~ 64 ビットの任意のサイズを使用できます。

このセクションの内容

Function

Description

SafeAdd

オーバーフローを避けながら、2 つの数値を加算します。

SafeCast

パラメーターの型を別の型にキャストします。

SafeDivide

ゼロ除算を避けながら、2 つの数値を除算します。

SafeEquals, SafeGreaterThan, SafeGreaterThanEquals, SafeLessThan, SafeLessThanEquals, SafeNotEquals

2 つの数値を比較します。これらの関数を使用すると、型を変換せずに 2 つの異なる型の数値を比較できます。

SafeModulus

2 つの数値に対して剰余演算を実行します。

SafeMultiply

オーバーフローが生じないように 2 つの数値を乗算します。

SafeSubtract

オーバーフローが生じないように 2 つの数値を減算します。

関連項目

セクション

Description

SafeInt クラス

SafeInt クラス。

SafeIntException クラス

SafeInt ライブラリに固有の例外クラス。