转换向量的简便方法<;字符串>;到向量<;双倍>; < C++ >除了使用转换算法和流S/以外,还有什么方便的方法将向量转换成向量?

转换向量的简便方法<;字符串>;到向量<;双倍>; < C++ >除了使用转换算法和流S/以外,还有什么方便的方法将向量转换成向量?,c++,C++,非常感谢你的帮助 词法转换非常“方便” atof也可以满足您的需要,请记住包括cstdlib: std::transform(strings.begin(), strings.end(), std::back_inserter(doubles), [](const std::string& x) { return std::atof(x.c_str()); }); 转换有什么不方便的地方?谢谢。实际上,我想要的不是使用Boost,只是Core C++。然

非常感谢你的帮助

词法转换非常“方便”

atof
也可以满足您的需要,请记住包括
cstdlib

std::transform(strings.begin(), strings.end(), std::back_inserter(doubles), 
               [](const std::string& x) { return std::atof(x.c_str()); });

转换有什么不方便的地方
?谢谢。实际上,我想要的不是使用Boost,只是Core C++。然后,
istringstream
。或者
atof
。感谢您提供atof解决方案。顺便说一句,它对
[](const std::string&x){return std::atof(x.c_str());}
的调用是什么?看起来像一个匿名函数。我以前没有在C++中看到过这个。@强丽,这就是它的真实含义。它是即将推出的C++0x标准的一部分,大多数现代编译器都支持它。我只是为了简洁而使用它。一个普通的函子也可以这么做。谢谢。还不熟悉c++0x。刚刚从python中回忆起
std::transform(strings.begin(), strings.end(), 
               std::back_inserter(doubles), 
               boost::lexical_cast<double, std::string>); // Note the two template arguments!
std::transform(strings.begin(), strings.end(), std::back_inserter(doubles), 
               [](const std::string& x) { return std::atof(x.c_str()); });