盛大游戏2015最新笔试题共享,想要了解的朋友敬请关注此文!
1、下列代码的输出为:
[cpp] view plaincopy
#include "iostream"
#include "vector"
using namespace std;
int main(void)
{
vector
array.push_back(100);
array.push_back(300);
array.push_back(300);
array.push_back(500);
vector
for(itor=array.begin();itor!=array.end();itor++)
{
if(*itor==300)
{
itor = array.erase(itor);
}
}
for(itor=array.begin();itor!=array.end();itor++)
{
cout<<*itor<<" ";
}
return 0;
}
A、100 300 300 500 B、100 300 500 C、100 500 D、程序错误
vector在erase之后,指向下一个元素的位置,其实进行erase操作时将后面所有元素都向前移动,迭代器位置没有移动。itor=array.erase(itor) erase返回下一个元素的地址,相当于给itor一个新值。
2、下列代码的输出为:
[cpp] view plaincopy
class CParent