是否可以在循环内的向量中保存指向对象的指针?
例如:
rpc::session* session=NULL;
//Find Sessions with same UserID, Remove if > 1
for(std::vector<rpc::session>::iterator it = session_manager::sessions.begin(); it != session_manager::sessions.end();) {
if(it->userid == userid){
if(session == NULL) {
*session = *it;
++it;
} else {
it = session_manager::sessions.erase(it);
}
} else {
++it;
}
}
代码被编译,但一旦到达 *session = *it,它就会因访问冲突而崩溃..