做网站 给图片加链接网站赚流量
做网站 给图片加链接,网站赚流量,做视频特技的网站,wordpress h5制作插件接口缩容 在VS编译器的模式下#xff0c;类似于erase和insert接口的函数通常会进行缩容#xff0c;因此#xff0c;insert和erase行参中的迭代器可能会失效。下图中以erase为例#xff1a; 代码如下#xff1a; #include iostream #include vector #inclu…接口缩容 在VS编译器的模式下类似于erase和insert接口的函数通常会进行缩容因此insert和erase行参中的迭代器可能会失效。下图中以erase为例 代码如下 #include iostream #include vector #include string using namespace std; int main() { vectorint v { 1,2,3,4,5,6 }; vectorint::iterator it v.begin(); while (it ! v.end()) //vs做出了调整不让我们做出访问因为此时的迭代器已经失效 { if (*it % 2 0) { v.erase(it); //正确做法如下用返回值的形式直接指向新空间中特定的位置 //it v.erase(it); } else { it; } } for (auto e : v) { cout e ; } return 0; } 总的来说迭代器失效的本质是原本的迭代指向指向的不是数据的位置了。 模板string 当容器戎装string类时在使用中要注意string类中构造函数的使用。当容器戎装string使用拷贝或赋值等其它会发生string构造时一定要注意析构函数会释放掉原有空间内的所有数据的情况 //当模拟实现vector容器接口string类型时的reserve接口的情况 void reserve(size_t n) { if (n capacity()) { size_t old size(); T* tmp new T[n]; if (_start) { //memcpy(tmp, _start, old * sizeof(T));拷贝错误string内部实现构造函数时将会刷新原有的数据 for (size_t i 0; i old; i) { tmp[i] _start[i]; } delete[] _start; } _start tmp; _finish _start old; _endofstorage _start n; } }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/86236.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!