构造 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
)
参数
[in] i
新 SafeInt 对象的值。这必须是类型 T 或 U 的参数,依赖于构造函数。[in] b
新 SafeInt 对象的布尔值。[in] u
类型 U. SafeInt 。新 SafeInt 对象将包含值和 u相同,但是,是类型 T。U
在 SafeInt存储的数据的类型。这可能是布尔值,字符或 integer 类型。如果是整数类型,它可以是签名或无符号和介于 8 和 64 位间。
备注
有关模板类型 T 和 E的更多信息,请参见 SafeInt 类。
构造函数, i 或 u的输入参数,必须为布尔值,字符或 integer 类型。如果是另一种类型参数, SafeInt 类调用 static_assert 指示无效输入参数。
自动使用模板类型 U 的构造函数转换输入参数转换为 T指定的类型。SafeInt 类将数据,而无需任何数据丢失。返回; 如果未能转换数据类型 T 不使用数据丢失,其移到错误处理程序 E 报告。
如果您创建从一个布尔型参数的 SafeInt ,需要立即初始化值。使用代码 SafeInt<bool> sb;,不能构造 SafeInt 。这将生成一个编译错误。
要求
标题: safeint.h
命名空间: msl::utilities