繁体   English   中英

Java中的指针,向量和迭代器

[英]Pointer, Vector and Iterator in Java

我有一些关于向量,指针和迭代器的C ++代码。 但是我不确定代码的作用。 我猜想,它使用迭代器进行迭代以获取或检查每个向量值,然后当值内部向量仍未结束或具有下一个向量时,它将创建一个向量名称v,该名称将填充d中的指针。 这样对吗? 现在,我想将该代码转换为Java代码,尤其是Java Android。 到目前为止,我已经转换到WHILE部分。 我不知道要转换节创建带有指针的新矢量。 你可以帮帮我吗? 非常感谢。

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
}

我做到的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
    }
}

这样转换它们是否正确? 对于未转换的代码,我应该写些什么? 任何人,你能帮我吗?

那只是一个尊敬的运算符。 它等效于Java代码中的ListIterator.next()。 考虑到C ++代码将其存储为引用,因此基本上是相同的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM