C++学习 boost学习之-numeric_cast

来源:互联网 发布:c 和java那个早 编辑:程序博客网 时间:2024/05/21 22:29

Boost中文手册下载:http://download.csdn.net/detail/skdkjxy/8723045

用法:

1 不同类型之间进行转换时,尽量使用numeric_cast,他会检查数据的范围,如果有问题会抛出异常

2 对浮点数类型,不会抛出异常,会产生截断

3 原则

在无符号与有符号类型间进行赋值或比较时

在不同大小的整数类型间进行赋值或比较时

从一个函数返回类型向一个数值变量赋值,为了预防该函数未来的变化


总结,numeric_cast非常有用,尽量使用,他会在转换后的类型如果无法表示转换前的数值的时候会抛出异常,如 当 int i = numeric_cast<int>(0xFFFFFFFF)时,或 boost::numeric_cast<unsigned int>(-1);都会抛出异常;
0 0
原创粉丝点击