使int向量从具有int的类的向量接收值

Ram*_*zar 2 c++

所以,假设我有这个:

...
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"例程?

提前致谢.

chr*_*ris 5

用途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)