我不明白那段代码是做什么的
static TwoWayHostPair hostpair;
map <TwoWayHostPair, Traffic> mymap;
//here some map element inserted to mymap and hostpair initialized
map <TwoWayHostPair, Traffic>::iterator iter = mymap.begin();
iter = mymap.find(hostpair);
if (iter == mymap.end()) {
iter = mymap.insert(make_pair(hostPair, Traffic())).first; //line8
}
我的问题是第8行会发生什么?我没明白。它不是应该为
map<...>:iterator
类型,插入之后是否保持相同类型? 最佳答案
std :: map :: insert返回std :: pair ,下面的语句是正确的。第二个布尔返回值指示插入是否发生
iter = mymap.insert(make_pair(hostPair, Traffic())).first; //line8
参见参考文献here