13

私は次のようなものを使用します:

map<string, Data>::iterator it  = mymap->begin();
map<string, Data>::iterator end = mymap->end();

while (it != end) {
    // do stuff
    ++it;
}

マップが空でもこれが機能するかどうか疑問に思っていました。マップが空の場合、 map::begin() が返されることに関する情報は見つかりませんでした。

4

2 に答える 2

18

マップが空の場合、beginendイテレータは等しくなります。つまり、を返しますmymap->end()

于 2012-05-21T08:14:15.627 に答える