C++标准库中的<sstream>提供了一个stringstream,以前基本没用过,突然发现很好用(^-^)V
如果你打算在多次转换中使用同一个stringstream对象,记住再每次转换前要使用clear()方法; 在多次转换中重复使用同一个stringstream(而不是每次都创建一个新的对象)对象最大的好处在于效率。stringstream对象的构造和析构函数通常是非常耗费CPU时间的。 如何用使用stringstream进行类型转换: 1. 下面例子为整型和sting类型的相互转换示例 整型转换为字符串类型
string NumberToString(int num) 字符创类型转换为整型
int StringToNumber(string strNum) 编译期就确定了num,result,strNum的类型,调用stringstream的时候拥有足够的信息判断来进行自动转换,并将转换结果缓存到stringstream对象的内部缓冲中 stringstream对象会根据需要自动分配内存,不用担心溢出问题. 例如:
float n = 22.22; 输出:22 22
2. 任意类型的转换
template <class output_type,class input_type> 例如:
float n = 22.22;
float f = Convert<float>(strNum); 输出: 22.22 22.22
3. 自定义类型的转换 <sstream>库还提供了另外一个特性—可扩展性,你可以通过重载来支持自定义类型间的转换,下次在探究 (责任编辑:最模板) |