概述
C++程序中数据类型转换是十分常用的操作,本文介绍如何使用boost库来实现数据类型的转换。
lexical_cast
boost中通过boost::lexical_cast一系列模板函数来实现数据类型转换,boost::lexical_cast的头文件为
#include <boost/lexical_cast.hpp>
基本原型定义如下:
namespace boost
{
template <typename Target, typename Source>
inline Target lexical_cast(const Source &arg)
{
Target result;
if (!boost::conversion::detail::try_lexical_convert(arg, result)) {
boost::conversion::detail::throw_bad_cast<Source, Target>();
}
return result