Java中的指针、向量和迭代器 我有一些关于向量、指针和迭代器的C++代码。但我不确定这些代码的作用。我猜,它使用迭代器进行迭代,以获取或检查每个向量值,然后当值内部向量仍然没有结束或具有next时,它将创建一个向量名v,其中填充了来自d的指针。是这样吗?现在,我想把这些代码转换成java代码,特别是java Android。到目前为止,我一直转换到WHILE部分。我不知道如何使用指针来转换创建新向量的部分。你能帮我吗?非常感谢你

Java中的指针、向量和迭代器 我有一些关于向量、指针和迭代器的C++代码。但我不确定这些代码的作用。我猜,它使用迭代器进行迭代,以获取或检查每个向量值,然后当值内部向量仍然没有结束或具有next时,它将创建一个向量名v,其中填充了来自d的指针。是这样吗?现在,我想把这些代码转换成java代码,特别是java Android。到目前为止,我一直转换到WHILE部分。我不知道如何使用指针来转换创建新向量的部分。你能帮我吗?非常感谢你,java,android,c++,pointers,vector,Java,Android,C++,Pointers,Vector,C++代码: size_t count = contours_hull[i].size(); if( count < 300 ) continue; vector<Vec4i>::iterator d =defects[i].begin(); while( d!=defects[i].end() ) { Vec4i& v=(*d); //this line, i can't convert. //another code } size\u t count

C++代码:

size_t count = contours_hull[i].size();
if( count < 300 )
   continue;
vector<Vec4i>::iterator d =defects[i].begin();
while( d!=defects[i].end() ) {
    Vec4i& v=(*d); //this line, i can't convert.
//another code
}
size\u t count=courses\u hull[i].size();
如果(计数<300)
继续;
向量::迭代器d=缺陷[i]。开始();
而(d!=缺陷[i].end(){
Vec4i&v=(*d);//这一行,我无法转换。
//另一个代码
}
我做这件事的Java代码:

for(int i = 0; i < contours_hull.size(); i++) // I added this line, because in java "continue" cannot use in outside loop, so i make loop here.
{
    int count = contours_hull.size();
    if (count < 300) continue;
    List<MatOfInt4> defect = new ArrayList<MatOfInt4>();
    Iterator d =  defect.iterator();
    while (d.hasNext)
    {
        //the line "Vec4i& v=(*d);" that i can't convert
    }
}
for(int i=0;i

这样改变他们是对的吗?我应该为尚未转换的代码编写什么?任何人,你能帮我吗?

那只是一个尊重接线员。它相当于Java代码中的ListIterator.next()。考虑C++代码存储它作为参考,基本上是相同的。

所以,ListIthor。NEXT()等于LISTyToRo.HasNeXT()或VEC4I&V=(*D)???@user3427419我假设您至少了解Java。我告诉过你“我不能转换的代码”是什么。也不涉及任何指针。*是迭代器的
运算符*()