繁体   English   中英

转换矢量的便捷方法<string>向量<double></double></string>

[英]Convenient way to convert vector<string> to vector<double>

除了使用变换算法和 istringstream 之外,C++ 中是否有任何便捷的方法可以将向量转换为向量?

非常感谢你的帮助!

lexical_cast非常“方便”。

for(size_t i = 0; i < vec.size(); ++i) {
  vec2.push_back(boost::lexical_cast<double>(vec[i]));
}

当然,使用std::transform会变得更加有趣:

std::transform(strings.begin(), strings.end(), 
               std::back_inserter(doubles), 
               boost::lexical_cast<double, std::string>); // Note the two template arguments!

atof也可以满足您的需求,请记住包含cstdlib

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM