1. ホーム
  2. c++

[解決済み] std::setを繰り返し使用するには?

2022-10-09 17:37:55

質問

このようなコードがあります。

std::set<unsigned long>::iterator it;
for (it = SERVER_IPS.begin(); it != SERVER_IPS.end(); ++it) {
    u_long f = it; // error here
}

はありません。 ->first の値がありません。 どうすれば値を取得できますか?

どのように解決するのですか?

セットのメンバーを取得するためには、イテレータを再参照する必要があります。

std::set<unsigned long>::iterator it;
for (it = SERVER_IPS.begin(); it != SERVER_IPS.end(); ++it) {
    u_long f = *it; // Note the "*" here
}

C++11の機能がある場合は 範囲ベースのループ :

for(auto f : SERVER_IPS) {
  // use f here
}