Paindar 发表于 2017-6-9 22:44 vector是数组,内部地址是连续的,set和map才是链式结构。 当内存不够的时候他会重新申请一块更大的内存 ...
很可惜,我几乎不用vector
STL源码没时间看,最近考试
langyo_v3 发表于 2017-6-9 22:54
哪来的_form=to--???…
函数没实现我能理解…可编译器报的不是这个错啊…人家是说我的所有变量特么的全部 ...
因为你把from全部写成form了。。。。
//情况2:从最后开始删
if(to==_to){
_to=form--;
return this;
}
_to=form--;应为_to=from-1;
还有你的问题 return *this;不就行了吗
还有data==null根本无意义,一个引用就是一个对象的别名,这么可能是null呢,以及引用不具有指针语意,也不是指针,c++也没有null这种东西
还有我说了我留了一个小问题没跟你说,编译器不会报错,最多警告但是却相当致命
就在insert函数里,你找找看,最好是自己找出来,我给个小提示吧:临时变量何时销毁?返回的类型又是什么?
等你吧上述问题全部改完,就在发给我看看。。。希望会有好的结果
姚氏帅哥 发表于 2017-6-9 23:03 因为你把from全部写成form了。。。。 _to=form--;应为_to=from-1;
这是第一部分
- memoryUnit&del(unsigned int from,unsigned int to){
- //检查参数是否有效
- if(from>to){
- //不要吐槽这里,因为这里在经过编译器优化后是不占内存的!
- unsigned int temp=from;
- from=to;
- to=temp;
- }
- if(from<_from || to>_to){
- //throw(error(*this,"del参数无效"));
- }
- if(_data==(void*)0){
- //throw(error(*this,"未初始化"));
- }
- //改写有效数据游标
- //情况1:从头开始删
- if(from==_from){
- _from=to++;
- return *this;
- }
- //情况2:从最后开始删
- if(to==_to){
- _to=from--;
- return *this;
- }
- //情况3:在中间删
- for(unsigned int i=to+1,j=from;i<=_to;i++,j++){
- _data[j]=_data[i];
- }
- _to-=(to-from+1);
- return *this;
- }
langyo_v3 发表于 2017-6-9 22:55
很可惜,我几乎不用vector
STL源码没时间看,最近考试
不用vector用啥。。用数组吗。。。糟心了老哥
666666666666
langyo_v3 发表于 2017-6-9 19:26
能把你用的解析汇编的软件发给我吗?
vs打断点,反汇编