相关疑难解决方法(0)

C++(stl)与Java中的迭代器是否存在概念上的差异?

我离开了一会儿,试图把老瓜弄脏之后回到c ++.

在Java中,Iterator是具有方法的容器的接口:hasNext(),next()和remove().hasNext()的存在意味着它具有对遍历容器的限制的概念.

//with an Iterator
Iterator<String> iter = trees.iterator();
while (iter.hasNext()) 
{
    System.out.println(iter.next());
}
Run Code Online (Sandbox Code Playgroud)

在C++标准模板库中,迭代器似乎表示支持operator ++和operator ==的数据类型或类,但没有内置限制的概念,因此在前进到下一个项目之前需要进行比较.用户必须检查限制,比较正常情况下的两个迭代器,第二个迭代器是容器端.

vector<int> vec;
vector<int>::iterator iter;

// Add some elements to vector
v.push_back(1);
v.push_back(4);
v.push_back(8);

for(iter= v.begin(); iter != v.end(); iter++)
{
    cout << *i << " "; //Should output 1 4 8
}
Run Code Online (Sandbox Code Playgroud)

这里有趣的部分是在C++中,指针是数组的迭代器.STL采用了现有的并围绕它构建惯例.

有什么进一步的细微之处,我失踪了吗?

c++ java iteration iterator

31
推荐指数
4
解决办法
1万
查看次数

Java和C++中的迭代器有什么区别?

Java中Iterator的实现与C++中的实现有何不同?

c++ java iterator

4
推荐指数
2
解决办法
3703
查看次数

标签 统计

c++ ×2

iterator ×2

java ×2

iteration ×1