在C++ 11中,
vector<string> blockPathList;
for(int i = 0; i < blockNum; i++)
{
blockPathList.push_back(desPath + "part" + to_string(i));
}
是否可以重新编写上面的代码,例如列表理解,或更短更简洁?
最佳答案
您要使用第三方库吗? 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++一样,这与功能列表理解有关。
关于c++ - 如何生成 vector ,例如列表理解,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36339533/