c++ - 转换 vector 的数据类型

标签 c++ vector casting

请指导我如何转换字符串 vector

std::vector<string> strVect; --> std::vector<float or double> flVect;

(例如 strVect 包含类似 { "0.1111", "0.234", "0.4556"} 的值)

使用 C++ 转换为 float vector 。

提前致谢。

最佳答案

除了现有的答案之外,一个非常简单的方法是使用 C++11 字符串转换函数和 C++11 lambda:

std::vector<string> strVect = ...;
std::vector<float> flVect(strVect.size());
std::transform(strVect.begin(), strVect.end(), flVect.begin(), 
               [](const std::string &arg) { return std::stof(arg); });

double 类似,当然只是使用 std::stod

关于c++ - 转换 vector 的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12860114/

相关文章:

c++ - 如何使用 Boost.Xpressive 正确解析 Mustache?

c# - 如何在 VS 2010 中创建 DirectShow 项目

c# - 转换 WebMatrix DynamicRecord 或检索底层 IDictionary<string,object>

hash - 如何在Go中实现HashCash的算法(类型转换问题)?

c++ - C 样式转换和 C++ static_cast 到指针的引用

c++ - 如何将鼠标移动转换为相机平移

c++ - 与正方形网格的最佳线相交

c++ - 遍历 vector 列 C++

c++ - 如何检查 C++ STL vector 中存在的值并将函数应用于 vector 的每个元素?

c++ - C++中的多维 vector 按字典顺序排序