奇怪的问题
定义了一个 Student类,含有room_number和building成员,对vector<Student> 中的
所有对象的这个两个成员进行赋值,同时输出赋值结果,但是在使用for输出时却发现两个输出明显不一样。
对对象赋值使用了这个函数
typedef vector<string> vs;
//stru_dorm提供room_number和 building_number 信息
void allocate_dorm(vector<Student> &stu,vector<vs> &stu_dorm)
{
//对每个对象的room_number ,building_number进行赋值
//同时进行输出查看
}
for (vector<Student>::iterator it=student.begin();it<student.end();++it)
{
cout<<(*it).building_number<<" " <<(*it).room_number;
cout<<endl;
}
//结果上下两个输出明显不一样
比如在allocate_dorm中 赋值168 608后 输出为 168 608
for中的输出则会变为 169 612 ( 这是另一个楼栋号和房间号的组合)
求达人解释