[转] boost:lexical_cast用法
2015-09-24 17:39
344 查看
转载地址:http://www.habadog.com/2011/05/07/boost-lexical_cast-intro/
一、lexical_cast的作用
lexical_cast使用统一的接口实现字符串与目标类型之间的转换。
二、lexical_cast与c/c++提供类似接口的比较
标准c家族中包含此类函数,例如atoi与itoa等,它们的缺点是:
(1)各个转换都是单向的,双向转换为不同函数,各种转换函数不同,接口众多;
(2)仅支持基础数据类型的子集,如int,long,double;
(3)不能提供统一的接口,易用性差;
c++中提供了stringstream,使用它进行格式转换可读性较差,使用起点较高,只是简单的转换,stringstream太重量级。
boost提供了lexical_cast,使用统一接口形式实现任意类型之间的转换,增强了易用性。但如果需要严密控制精度的转换,仍然推荐使用stringstream;数值之间的转换,推荐使用numeric_cast。
三、lexical_cast的接口形式
?
四、lexical_cast的样例代码
?
一、lexical_cast的作用
lexical_cast使用统一的接口实现字符串与目标类型之间的转换。
二、lexical_cast与c/c++提供类似接口的比较
标准c家族中包含此类函数,例如atoi与itoa等,它们的缺点是:
(1)各个转换都是单向的,双向转换为不同函数,各种转换函数不同,接口众多;
(2)仅支持基础数据类型的子集,如int,long,double;
(3)不能提供统一的接口,易用性差;
c++中提供了stringstream,使用它进行格式转换可读性较差,使用起点较高,只是简单的转换,stringstream太重量级。
boost提供了lexical_cast,使用统一接口形式实现任意类型之间的转换,增强了易用性。但如果需要严密控制精度的转换,仍然推荐使用stringstream;数值之间的转换,推荐使用numeric_cast。
三、lexical_cast的接口形式
?
?
相关文章推荐
- Head First Python学习笔记2——文件与异常
- cancel-ng-swipe-right-on-child
- 启动步骤
- amoeba配置
- SSH整合 简单的增删改查
- c3p0管理jdbc连接demo
- 控件图片相关
- 关于Tomcat自动加载更新class的小技巧
- 适配器模式
- linux添加到普通用户sudo才干
- 第二次作业
- hyperic hq安装
- 训练匹配模板
- Linux 关于Transparent Hugepages的介绍
- JPA-hibernate注解之 should be mapped with insert="false" update="false"
- node.js之服务器如何处理请求
- libxml2 xpath namespace
- 如何反编译 android 中 /data/dalvik-cache/arm 下的文件
- RethinkDB
- linux 系统启动过程