从Vector

时间:2015-11-09 17:55:25

标签: c++ vector

我有一个存储4个浮点数的结构点。然后将这些结构放入向量中,因为我存储了绘图的点(也使用OpenGL)。

typedef struct {
    float x1, y1;                                                           
    float x2, y2;                                                           
} Points;

vector<Points> line;  
Points segment; 

我现在有一个函数,我的两个向量是参数,我希望能够访问每个结构点(x1,x2,y1,y2)

int CyrusBeckClip (vector<Points>& line, vector<Points>& polygon) {
    // How can I access each segment.x1 in the vector? 
    // (I reuse the segment instance for each line drawn)
    return 0;
}

如何访问向量中的每个segment.x1?

我希望我在这里很清楚,并提供了足够的信息。我尝试输出&line.front();,但似乎没有用。

2 个答案:

答案 0 :(得分:1)

for (Points& segment: line) {
    // here we can use segment.x1 and others
}

for (Points& segment: polygon) {
    // here we can use segment.x1 and others
}

这称为range-based for loop

答案 1 :(得分:0)

您可以这样做:

// using an index
line[0].x1;

// using an iterator
std::vector<Points>::iterator = line.begin();
line_iter->x1; // access first element's x1
(*line_iter).x1 // access first element's x1

 // using front
 line.front().x1  // access first element's x1