首页 > 代码库 > 自己实现的Boost库中的lexical_cast任意类型转换
自己实现的Boost库中的lexical_cast任意类型转换
知道了C++的I/O设施之后,这些就变的很简单了。如果你经常使用,时间长了就会有感觉。这个事情是多此一举吗?就当是练习吧,知道原理之后,你会觉得用起来更舒畅,更喜欢C++了。
#include <iostream> #include <vector> #include <string> #include <sstream> #include <algorithm> #include <iterator> using namespace std; template<typename Result,typename Para> Result lexical_cast(Para para) { stringstream ss; ss<<para; Result result; ss>>result; return result; } //int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) int main(int argc, char *argv[]) { double arr[10] = {0.1,1.2,2.3,3.4,4.5,5.6,6.7,7.8,8.9,9.0}; vector<string> str_arr; for (size_t i =0 ; i< sizeof(arr)/sizeof(double) ; ++i) { str_arr.push_back(lexical_cast<string>(arr[i])); } ostream_iterator<string> out(cout," "); copy(str_arr.begin(),str_arr.end(),out); return 0; }
自己实现的Boost库中的lexical_cast任意类型转换
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。