如何生成像列表理解这样的向量

新手上路,请多包涵

在 C++11 中,

 vector<string> blockPathList;
for(int i = 0; i < blockNum; i++)
{
    blockPathList.push_back(desPath + "part" + to_string(i));
}

是否可以像列表理解一样重写上面的代码,或者更短更简洁?

原文由 chenzhongpu 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 549
1 个回答

你想使用第三方库吗? Eric Niebler 的 range-v3 允许:

 std::vector<string> blockPathList =
        view::ints(0, blockNum)
        | view::transform([&desPath](int i) {
            return desPath + "part" + std::to_string(i);
        });

这与您将在 C++ 中获得的功能列表理解差不多。

原文由 Barry 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题