我有一堂课如下:
class Descriptor
{
public:
float xi, yi;
vector<double> fv;
Descriptor()
{
}
Descriptor(float x, float y, vector<double> const& f)
{
xi = x;
yi = y;
fv = f;
}
};
我也有一个这样的描述符向量:vector<Descriptor> keypoint;
现在我想使用迭代器打印关键点的元素,考虑到 fv 是双精度向量。
我写了这段代码
vector<Descriptor>::iterator it;
for(it=keypoint.begin();it!=keypoint.end();it++){
cout<<it->xi <<"---"<<it->yi<<endl;
double* f = it->fv.data();
for(int i=0; i<it->fv.size();i++){
cout<<*f<<endl;
f++;
}
}
但是如果我有例如 xi=3 和 yi=4 和 fv=[5 6 7] 它会像这样打印 fv 三次: 3 4 5 6 7 5 6 7 5 6 7 请帮助我如何纠正它...