位置: IT常识 - 正文
综合评级:
想读(0)在读(0)已读(5) 品书斋鉴(2) 已有5人发表书评
《把脉VC++》第4章对象的赋值与转换,本章介绍了对象的初始化(从无到有)和赋值(从A到B)问题,讨论如何对对象进行类型上的、数值上的转换,并结合我们常常接触到的数学运算和字符编码问题展开讨论。本节讲述的是万能转换器boost::lexical_cast。
AD:
推荐整理分享4.6.2 万能转换器boost::lexical_cast(万能转换器mp4),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:万能转换软件下载,万能转换器mp4,万能转换工具,万能转换器接线图,万能转换器接线图,万能转换器基本结构,万能转换器怎么用,万能转换器下载免费版,内容如对您有帮助,希望把文章链接给更多的朋友!
4.6.2 万能转换器boost::lexical_cast
boost::lexical_cast为数值之间的转换(conversion)提供了一揽子方案,比如:将一个字符串"123"转换成整数123,代码如下:
strings="123"; inta=lexical_cast<int>(s);这种方法非常简单,笔者强烈建议大家忘掉std诸多的函数,直接使用boost:: lexical_cast。如果转换发生了意外,lexical_cast会抛出一个bad_lexical_cast异常,因此程序中需要对其进行捕捉。
现在动手
编写如下程序,体验如何使用boost:: lexical_cast完成数值转换。
【程序 4-11】使用boost:: lexical_cast完成对象数值转换
01#include"stdafx.h"02 03#include<iostream> 04#include<boost/lexical_cast.hpp> 05 06usingnamespacestd; 07usingnamespaceboost; 08 09intmain() 10{ 11strings="123"; 12inta=lexical_cast<int>(s); 13doubleb=lexical_cast<double>(s); 14 15printf("%d\r\n",a+1); 16printf("%lf\r\n",b+1); 17 18try19{ 20intc=lexical_cast<int>("wrongnumber"); 21} 22catch(bad_lexical_cast&e) 23{ 24printf("%s\r\n",e.what()); 25} 26 27return0;28}如上程序实现字符串"123"到整数、双精度实数的转换(为了防止程序作弊,我们特意让它将值加1),结果输出如图4-19所示。
上一篇:WordPress为旧文章批量设置特色图(wordpress文章保存在哪里)
友情链接: 武汉网站建设