相关疑难解决方法(0)

如何使用迭代器?

我正在计算两点之间的距离.我用C++中的向量存储的两点:(0,0)和(1,1).

我应该得到结果

0
1.4
1.4
0
Run Code Online (Sandbox Code Playgroud)

但我得到的实际结果是

0
1
-1
0
Run Code Online (Sandbox Code Playgroud)

我认为在向量中使用迭代器的方式有问题.我该如何解决这个问题?

我发布了以下代码.

typedef struct point {
    float x;
    float y;
} point;

float distance(point *p1, point *p2)
{
    return sqrt((p1->x - p2->x)*(p1->x - p2->x) +
                (p1->y - p2->y)*(p1->y - p2->y));
}

int main()
{
    vector <point> po;
    point p1; p1.x = 0; p1.y = 0;
    point p2; p2.x = 1; p2.y = 1;
    po.push_back(p1);
    po.push_back(p2);

    vector <point>::iterator ii;
    vector <point>::iterator jj;
    for (ii = po.begin(); ii != po.end(); ii++) …
Run Code Online (Sandbox Code Playgroud)

c++ pointers iterator vector using-statement

71
推荐指数
3
解决办法
4万
查看次数

标签 统计

c++ ×1

iterator ×1

pointers ×1

using-statement ×1

vector ×1