所以,假设我有这个:
...
struct circle {
int radius;
char color;
}
vector<circle> circles;
...
vector<int> sizes;
for (int i = 0; i < circles.size(); i++) {
sizes[i] = circles[i].radius;
}
...
Run Code Online (Sandbox Code Playgroud)
有没有办法让"尺寸"自动接收所有"半径"而没有"for"例程?
提前致谢.
用途std::transform:
std::transform(
std::begin(circles), std::end(circles), std::back_inserter(sizes),
[](const circle &c) {return c.radius;}
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |