永发信息网

vector中用erase删除只是删除指针吗

答案:2  悬赏:10  手机版
解决时间 2021-02-10 15:22
vector中用erase删除只是删除指针吗
最佳答案
gcc 4.4是符合iso2003标准的编译器,而vc6不符合。——因该以gcc下能运行为标准,而非旧版vc
标准下v.erase输入参数是迭代指针,而&v[1]是一个int地址
补救做法,强制转换
1、v.erase( static_cast::iterator>(&v[1]) );
2、v.erase( (vector::iterator)(&v[1]) );
标准做法,迭代器操作
3、v.erase( v.begin()+1 );

ps:另外for循环中的v[0]也因该是v[i]
全部回答

。。没啥可说的。反正我看不懂。

// template function remove

template<class _fi, class _ty> inline

_fi remove(_fi _f, _fi _l, const _ty& _v)

{_f = find(_f, _l, _v);

if (_f == _l)

return (_f);

else

{_fi _fb = _f;

return (remove_copy(++_f, _l, _fb, _v)); }}

// template function remove_if

template<class _fi, class _pr> inline

_fi remove_if(_fi _f, _fi _l, _pr _p)

{_f = find_if(_f, _l, _p);

if (_f == _l)

return (_f);

else

{_fi _fb = _f;

return (remove_copy_if(++_f, _l, _fb, _p)); }}

// template function remove_copy

template<class _ii, class _oi, class _ty> inline

_oi remove_copy(_ii _f, _ii _l, _oi _x, const _ty& _v)

{for (; _f != _l; ++_f)

if (!(*_f == _v))

*_x++ = *_f;

return (_x); }

// template function remove_copy_if

template<class _ii, class _oi, class _pr> inline

_oi remove_copy_if(_ii _f, _ii _l, _oi _x, _pr _p)

{for (; _f != _l; ++_f)

if (!_p(*_f))

*_x++ = *_f;

return (_x); }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
聚四氟乙烯密度是多少
宝贝幼儿园地址在什么地方,想过去办事
香烟的价格
暗黑2·圣骑士恶梦第一幕就过不去了·装备也
新沂市有几个区
十二品金莲的“品”字怎么解释?
【夏燕】每个人拿的是同学的相机背的是另一个
永佳客运售票点地址在哪,我要去那里办事
我很喜欢一个女孩,我很爱她,我俩在一起上班
我用的是XP系统 请问用比特精灵好还是BitCome
粤运快车(钟潭大道)地址在什么地方,我要处理
仓鼠使劲儿往地下一摔会死吗
TP-LINK TL 340G+无线路由器,恢复出产设置了
宜先炒药后加盐水炮制的药材是A.橘核B.知母C.
3公里跑步25分钟,处于什么水平?
推荐资讯
路头石村地址在什么地方,我要处理点事
背英语短语APP
国涛维修中心地址在哪,我要去那里办事
四季发廊地址在哪,我要去那里办事
右图为番茄根细胞对K+的吸收速率和氧分压的
蓓蕾艺术幼儿园(株洲芦淞区)地址有知道的么?
忍者神龟4变种时代片尾处麦奇对爱普尔唱的歌
标榜精剪城地址在什么地方,我要处理点事
请问这两个 北京的移动号没低消,13811658555
在百股顺做期货可靠吗?
求一本关于清末到建国初期这段时间的军阀混战
山水芙蓉装饰怎么去啊,有知道地址的么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?