[英]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.