C++转换问题
C++ transform issue
我需要从csv文件中读入并存储在整数数组中,在行中读取并用boost::split
拆分行后,我得到了字符串LineItems的向量。我可以通过以下方式将其转换为整数数组:
for (int i=0; i<=10; i++) {
WorkArr[i]=stoi(LineItems[i]);
}
(我知道csv的大小和格式,因此我可以使用数组来存储。但是,我想使用转换来执行此任务:
transform(LineItems.begin(),LineItems.end(),WorkArr,stoi);
但是编译器说它不知道使用哪个重载版本的stoi
(我使用的是VC++(。
我知道我可以这样解决方法:
int MyStoI(string & ss) return stoi(ss);
transform(LineItems.begin(),LineItems.end(),WorkArr,MyStoI);
但这引入了另一个功能MyStoI
.有什么方法可以在不引入新功能的情况下执行此操作?
雷德斯
林志峰
使用 lambda 怎么样? 像这样:
std::transform(LineItems.begin(), LineItems.end(),
std::back_inserter(WorkArr),
[](const std::string& str)
{
return std::stoi(str);
});
如果WorkArr
是一个普通数组(不是向量(,你可以像这样使用它:
std::transform(LineItems.begin(), LineItems.end(), WorkArr,
[](const std::string& str)
{
return std::stoi(str);
});
相关文章:
- C++转换参数初始化问题
- 将父类对象强制转换为子类的问题
- 模板类转换问题 - 无法推断调用的函数
- 将旧管道转换为现代 openGL 时出现问题
- 将字节数组转换为带有字节序问题的指针
- 复制构造函数隐式转换问题
- 使用转换器提升 Python 问题 - 静态链接
- 与模板 (c++) 相关的转换问题
- 将文件复制到自定义位置,存在字符串转换问题
- 从基指针到派生的强制转换问题
- JNI 日期值转换问题,在C++中获取不同的长整型值
- 从 argv[1] 转换为字符 * 字符串后有什么问题?
- 将字符数组转换为结构时出现问题. 结构的字符数组变量溢出
- PX 转换例程编译问题
- 类型转换问题
- C++,遇到将双精度转换为整数的问题
- 拆分 pybind11 模块和自动类型转换问题
- 类型转换问题:返回为整数而不是浮点/类型
- Unicode 字符问题/转换参数
- c++和OpenCV:问题转换图像到灰度