次の方法で共有


SafeInt::SafeInt

SafeInt オブジェクトを構築します。

SafeInt() throw

SafeInt (
   const T& i
) throw ()

SafeInt (
   bool b
) throw ()

template <typename U>
SafeInt (
   const SafeInt <U, E>& u
)

I template <typename U>
SafeInt (
   const U& i
)

パラメーター

  • [入力] i
    新しい SafeInt オブジェクトの値。この値は、T 型または U 型 (コンストラクターに応じて決まります) のパラメーターである必要があります。

  • [入力] b
    新しい SafeInt オブジェクトのブール値。

  • [入力] u
    U 型の SafeInt。新しい SafeInt オブジェクトの値は u の値と同じですが、T 型になります。

  • U
    SafeInt に格納されるデータの型。ブール型、文字型、整数型のいずれかになります。整数型の場合、signed 型でも unsigned 型でも構わず、サイズは 8 ~ 64 ビットの範囲で選択できます。

解説

テンプレートの種類である T と E の詳細については、「SafeInt クラス」を参照してください。

コンストラクターの入力パラメーターである i または u は、ブール型、文字列型、整数型のいずれかにする必要があります。それ以外の型のパラメーターを使用した場合、SafeInt クラスにより static_assert が呼び出され、入力パラメーターが無効であることが通知されます。

U のテンプレート型を使用するコンストラクターでは、入力パラメーターが T によって指定された型に自動的に変換されます。SafeInt クラスによるデータ変換では、データが失われません。データを T 型に変換するときにデータの損失が避けられない場合は、エラー ハンドラー E に対して報告されます。

ブール値パラメーターから SafeInt を作成した場合、すぐに値を初期化する必要があります。SafeInt<bool> sb; というコードを使って SafeInt を作成することはできません。このコードを使用した場合、コンパイル エラーが発生します。

必要条件

ヘッダー: safeint.h

名前空間: msl::utilities

参照

関連項目

SafeInt クラス

SafeIntException クラス

その他の技術情報

SafeInt ライブラリ