标签: iterator

问题向量在哪里找到c ++?

当我编译我有一个错误,我不明白问题出在哪里?

class Edge{  
public:  
      int nid;  
      bool operator==(const Edge& edge) const {  
            return nid == edge.nid;  
      }  
 };  
Run Code Online (Sandbox Code Playgroud)

和问题在这里

vector<Edge> edges;  
vector<Edge>::iterator it;  
it = find (edges.begin(), edges.end(), nid);

if( it != edges.end() )  
      edges.erase(it); 
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?!!!?

c++ iterator find

-1
推荐指数
1
解决办法
262
查看次数

简单数字生成器

如何编写一个只在每次调用时返回递增数字的函数?

print counter() # 0
print counter() # 1
print counter() # 2
print counter() # 3
etc
Run Code Online (Sandbox Code Playgroud)

为清楚起见,我不是在寻找发电机(虽然答案可能会使用它).该函数应返回一个整数,而不是一个可迭代的对象.我也不是在寻找涉及全局或其他共享变量(类,函数属性等)的解决方案.

请参阅http://www.valuedlessons.com/2008/01/monads-in-python-with-nice-syntax.html,了解有关此事的一些有用见解.

python iterator

-1
推荐指数
2
解决办法
2388
查看次数

通过列表迭代,同步和使用迭代器的ConcurrentModificationException

如何为此代码块获取ConcurrentModificationException?

synchronized (list) {
        for (Iterator<?> it = list.iterator(); it.hasNext(); ) {
            Object object = it.next();
            // do something to object without touching list
        }
}
Run Code Online (Sandbox Code Playgroud)

编辑:对不起,这不够具体://对对象执行某些操作不会触及列表

java concurrency synchronization iterator

-1
推荐指数
1
解决办法
433
查看次数

使用std :: vector <std :: pair <>>查看向量

我有以下向量:

std::vector< std::pair<std::string,bool > > myvec;
Run Code Online (Sandbox Code Playgroud)

如何使用迭代器浏览和打印矢量元素?

c++ oop iterator vector std-pair

-1
推荐指数
1
解决办法
6991
查看次数

Android应用程序崩溃,导致是迭代器

我有一个名为listOfDrills的列表,它有Iterator drillIt,有些为什么迭代器没有next()值(我很痛,列表不是空的,因为它可以正常工作listOfDrills.get(0)).这是代码:

package com.simplemathgame;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Random;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class GamePlayActivity extends Activity {
    int addDrills;
    int subDrills;
    int mulDrills;
    int divDrills;
    int minBound;
    int maxBound;

    TextView drillTextPlace;
    Button nextButton;
    Button backButton;

    List<Drill> listOfDrills = new ArrayList<Drill>();
    Iterator<Drill> drillIt = listOfDrills.iterator();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_game_play);

        //get values from other activity
        Bundle extras …
Run Code Online (Sandbox Code Playgroud)

java android iterator list arraylist

-1
推荐指数
1
解决办法
517
查看次数

以下c ++代码返回什么?

我有一段代码需要理解.但是我迷失了一点.这是代码:

typedef unordered_map <string, TimeStampSet *> HIEMap;
typedef set <TimeStamp> TimeStampSet;

struct HostInfo {
    HostActivity *hostActivity;
    HIEMap *hieMapArr;
};

typedef unordered_map <uint32_t, HostInfo *> HostInfoMap;

HIEMap::iterator hieMapIt;

void method(...){
    for (hieMapIt = hostInfoIt -> second -> hieMapArr -> begin();
         hieMapIt != hostInfoIt -> second -> hieMapArr -> end();
         hieMapIt = nextMapIt)
    {
        if (hieMapIt -> second == NULL) {
           //what does *hieMapIt -> second* returns?
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

什么hieMapIt -> second回报?我有点迷茫.

这不是所有代码,都有初始化等等.但是我没有把所有的代码放在这里.

谢谢,

c++ types iterator unordered-map map

-1
推荐指数
1
解决办法
83
查看次数

如何从某个对象的数组生成Iterator

private SomeObject[] all_objs;     

public Iterator<SomeObject> iterator() {
   //
}
Run Code Online (Sandbox Code Playgroud)

从数组中获取迭代器的最佳方法是SomeObject什么?

编辑 所以没有使用像ArrayLists或HashSets这样的包装器就无法生成迭代器?

java arrays iterator

-1
推荐指数
1
解决办法
103
查看次数

使用jstl使用for循环模拟while循环

我有这段代码如下

     while(children.hasNext())
            {
                Page child1=children.next();
            }
Run Code Online (Sandbox Code Playgroud)

我需要使用for循环或每个循环在我的jstl中使用此代码.

我可以知道我们该怎么做吗?

java iterator for-loop jstl java-ee

-1
推荐指数
1
解决办法
4613
查看次数

为什么我需要取消引用迭代器?

为什么我需要取消引用迭代器?例如,在以下程序中

#include <iostream>
#include <string>
#include <vector>

int main()
{
    using namespace std;
    string s("some string");

    for(auto it = s.begin(); it != s.end(); && !isspace(*it); ++it)
        *it = isupper(*it);
    cout<<s;
}
Run Code Online (Sandbox Code Playgroud)

为什么有必要使用isupper(*it);而不仅仅是isupper(it);

c++ iterator c++11

-1
推荐指数
1
解决办法
494
查看次数

C++迭代器操作

请检查注释的代码行:

#include <iostream>
#include <vector>

using namespace std;

  int main()
  {
    vector<int>numbers{1,2,3,4,5,6,7,8};
    vector<int>::iterator it, beg=numbers.begin(), end=numbers.end();

    for(it=beg; it!=end; it++){
        cout<<*it++<<endl; //THIS LINE PRINTS 1 3 5 7
    }

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我正在阅读迭代器和尝试一些事情.该行似乎打印元素it引用,然后递增it.实际上它产生的结果与:

  cout<<*it<<endl;
  it++;
Run Code Online (Sandbox Code Playgroud)

我没有清楚地解释清楚,真正的问题是:你能在这样的迭代器上执行2次操作吗?

为什么*(it+1)不同*(it++)

谢谢.

c++ iterator

-1
推荐指数
1
解决办法
282
查看次数