当前位置: 首页 > news >正文

找百度公司做网站怎么样网站建设的7种流程图

找百度公司做网站怎么样,网站建设的7种流程图,国外ip,搭建网页游戏服务器vecctor是动态顺序表 一、了解vector的相关接口及其功能 1.构造函数相关接口 函数声明功能介绍vector()无参构造vector(size_type n,const value_type valvalue_type())构造并初始化n个valvector(const value x)拷贝构造vector(InputIterator first, InputIterato…vecctor是动态顺序表 一、了解vector的相关接口及其功能 1.构造函数相关接口 函数声明功能介绍vector()无参构造vector(size_type n,const value_type valvalue_type())构造并初始化n个valvector(const value x)拷贝构造vector(InputIterator first, InputIterator last)使用迭代器进行构造 上面不认识的类型如size_type、value_type等都是被typedef过的可以根据英文意思直接理解或者找相关的文档进行查询 void test1() {vectorint v;for (auto x : v){cout x ;}cout endl;vectorint v1(5, 2);for (auto x : v1){cout x ;}cout endl;vectorint v2(v1);//vectorint v2(v1.begin(),v1.end());和上一行代码等价for (auto x : v2){cout x ;}cout endl;string s hello world;vectorchar v3(s.begin(), s.end());//不同类型的迭代器也能初始化for (auto x : v3){cout x ;}cout endl; } 2.vector iterator的使用 iterator的使用接口说明begin()end()获取第一个数据位置的iterator/const_iterator获取最后一个数据的下一个位置的iterator/const_iteratorrbegin()rend()获取第一个数据位置的reverse_iterator/const_reverse_iterator获取最后一个数据的下一个位置的reverse_iterator/const_reverse_iterator void test2() {vectorint v;v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);vectorint::iterator it v.begin();//注意如果写类型名那么一定要写正确如加不加reverse、const一定要写对//如果不想写这么长的类型可以写auto自动类型推导while (it ! v.end()){cout *it ;it;}cout endl;vectorint::reverse_iterator it1 v.rbegin();while (it1 ! v.rend()){cout *it1 ;it1;}cout endl; } 3.vector空间增长问题 函数名称接口说明size获取数据个数capacity获取容量大小empty判断是否为空resize改变vector的sizereserve改变vector的capacity void test3() {vectorint v;cout v.size() endl;cout v.capacity() endl;cout v.empty() endl;cout ---------- endl;vectorint v1(5, 2);cout v1.size() endl;cout v1.capacity() endl;cout v1.empty() endl;cout ---------- endl;//vectorint v2(v1);vectorint v2(v1.begin(),v1.end());cout v2.size() endl;cout v2.capacity() endl;cout v2.empty() endl;cout ---------- endl;string s hello world;vectorcharv3(s.begin(), s.end());cout v3.size() endl;cout v3.capacity() endl;cout v3.empty() endl; } 结论构造函数创建对象时有多少个数据开多少空间 void test4() {int arr[] { 1,2,3,4,5,6,7,8,9,10 };int n sizeof(arr) / sizeof(int);vectorint v(arr, arr n);//vector迭代器本质就是指针所以这里传指针没问题cout v.size() : v.capacity() endl;v.reserve(100);v.resize(20);cout v.size() : v.capacity() endl;v.reserve(50);v.resize(5);cout v.size() : v.capacity() endl; } 结论resize控制size()的大小空间不够会扩容reserve申请预留的空间如果小于已经开出的空间capacity()则空间大小不变如果大于则会扩容至于扩多大的容主要看编辑器但是至少保证空间够用 4.vector的增删查改 函数名称接口说明push_back()尾插pop_back()尾删find查找vector没有find成员函数这个find是算法库中的如果找到findinsert在pos之前插入val返回新插入元素位置的迭代器erase删除pos位置的数据返回被删除元素的下一个元素位置的迭代器swap交换两个vector的数据空间operator[]像数组一样用下标访问数据 void test6() {vectorint v;v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);for (int i 0; i v.size(); i){cout v[i] ;}cout endl;v.pop_back();for (int i 0; i v.size(); i){cout v[i] ;}cout endl;v.insert(v.begin() 1, 10);for (int i 0; i v.size(); i){cout v[i] ;}cout endl;v.erase(v.begin() 2);for (int i 0; i v.size(); i){cout v[i] ;}cout endl;auto itx find(v.begin(), v.end(), 10);//返回迭代器if (itx ! v.end())//没找到返回end()cout *itx; } 5.迭代器失效重点 由于vector的迭代器底层是指针所以vector迭代器失效本质就是野指针问题 对于vector可能会导致其迭代器失效的操作有 1.在插入元素的过程中导致扩容而导致原本的空间被释放那么在扩容之前获取的迭代器就会失效这是一个例子其实只要引发扩容都可能导致迭代器失效 2.删除操作一般来说删除元素不会出现问题但是如果删除的元素是最后一个元素那么最后一个元素即被删除元素位置的迭代器就会失效 如果没看懂的可以看看后面对插入删除功能的模拟实现 以下代码的功能是删除vector中所有的偶数请问while循环的代码是正确的 void test7() {vectorint v{ 1, 2, 3, 4 };auto it v.begin();while (it ! v.end()){if (*it % 2 0)v.erase(it);it;}while (it ! v.end()){if (*it % 2 0)v.erase(it);elseit;}while (it ! v.end()){if (*it % 2 0)it v.erase(it);elseit;} } 很显然第一个while循环错误因为删除是将后面的元素整体往前移动所以删除完成之后it就已经指向了后一个元素不需要 而第二个while循环逻辑上没有问题但是不同的编辑器会有不同的结果在vs上编辑器会严格检查在可能导致迭代器失效的操作之后使用之前的迭代器直接报错而在g上就不会报错 第三个while循环才是标准的写法而这也是对迭代器失效问题的解决---为erase函数设置了返回值返回删除元素后面一个元素的迭代器这样就确保不会发生迭代器失效的问题了 二、模拟实现vector的基本功能 namespace zxws {templateclass Tclass vector{public:// Vector的迭代器是一个原生指针typedef T* iterator;typedef const T* const_iterator;iterator begin(){return _start;}iterator end(){return _finish;}const_iterator begin() const{return _start;}const_iterator end() const{return _finish;}// 构造和析构vector(){}vector(int n, const T value T()){reserve(n);while (n--) {push_back(value);}}templateclass InputIteratorvector(InputIterator first, InputIterator last){while (first ! last){push_back(*first);first;}}vector(const vectorT v){reserve(v.capacity());for (auto x : v){push_back(x);}}vectorT operator (vectorT v){swap(v);return *this;}~vector(){if (_start){delete[] _start;_start _finish _endOfStorage nullptr;}}// capacitysize_t size() const{return _finish - _start;}size_t capacity() const{return _endOfStorage - _start;}void reserve(size_t n){if (n capacity()){size_t sz size();T* tmp new T[n];if (_start){for (size_t i 0; i sz; i){tmp[i] _start[i];}delete[] _start;}_start tmp;_finish _start sz;_endOfStorage _start n;}}void resize(size_t n, const T value T()){if (n size()){reserve(n);for (size_t i size(); i n; i){_start[i] value;}}_finish n _start;}T operator[](size_t pos){assert(pos size());return _start[pos];}const T operator[](size_t pos)const{assert(pos size());return _start[pos];}void push_back(const T x){if (_finish _endOfStorage){reserve(capacity() 0 ? 4 : capacity() * 2);}*_finish x;_finish;}void pop_back(){assert(size() 0);_finish--;}void swap(vectorT v){std::swap(_start, v._start);std::swap(_finish, v._finish);std::swap(_endOfStorage, v._endOfStorage);}iterator insert(iterator pos, const T x){assert(pos _start);assert(pos _finish);if (_finish _endOfStorage){size_t l pos - _start;reserve(capacity() 0 ? 4 : capacity() * 2);pos _start l;}iterator it _finish;while (it pos){*it *(it - 1);--it;}*pos x;_finish;return pos;}iterator erase(iterator pos){assert(pos _start);assert(pos _finish);iterator it pos;while (it _finish - 1){*it *(it 1);it;}_finish--;return pos;}private:iterator _start nullptr;// 指向数据块的开始iterator _finish nullptr; // 指向有效数据的尾iterator _endOfStorage nullptr; // 指向存储容量的尾};void test(){//vectorint v;vectorint v(10);vectorint v(10,2);//v.push_back(1);//v.push_back(2);//v.push_back(3);//v.push_back(4);//for (auto x : v)//{// cout x ;//}//cout endl;//vectorintv1(v);//for (auto x : v1)//{// cout x ;//}//cout endl;string s hello world;vectorchar s1(s.begin(), s.end());for (auto x : s1){cout x ;}cout endl;vectorchar s2;s2 s1;for (auto x : s2){cout x ;}cout endl;}void test1(){vectorstringv;v.push_back(11111111);v.push_back(11111111);v.push_back(11111111);v.push_back(11111111);v.push_back(11111111);v.push_back(11111111);v.push_back(11111111);v.push_back(11111111);v.push_back(11111111);for (auto x : v){cout x ;}cout endl;}void test2(){vectorint v;v.push_back(1);v.push_back(2);v.push_back(2);v.push_back(3);v.push_back(4);vectorint::iterator it v.begin();while(it!v.end()){if (*it % 2 0)it v.erase(it);elseit;}for (auto x : v){cout x ;}cout endl;v.pop_back();for (auto x : v){cout x ;}cout endl;}void test3(){vectorint v;v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);v.push_back(5);v.insert(v.begin()2, 0);v.insert(v.end(),0);for (auto x : v){cout x ;}cout endl;} }
文章转载自:
http://www.morning.nxbsq.cn.gov.cn.nxbsq.cn
http://www.morning.llqky.cn.gov.cn.llqky.cn
http://www.morning.fhxrb.cn.gov.cn.fhxrb.cn
http://www.morning.sjzsjsm.com.gov.cn.sjzsjsm.com
http://www.morning.hxftm.cn.gov.cn.hxftm.cn
http://www.morning.ymyhg.cn.gov.cn.ymyhg.cn
http://www.morning.fnpmf.cn.gov.cn.fnpmf.cn
http://www.morning.crrjg.cn.gov.cn.crrjg.cn
http://www.morning.langlaitech.cn.gov.cn.langlaitech.cn
http://www.morning.wnxqf.cn.gov.cn.wnxqf.cn
http://www.morning.tpnxj.cn.gov.cn.tpnxj.cn
http://www.morning.dansj.com.gov.cn.dansj.com
http://www.morning.fdzzh.cn.gov.cn.fdzzh.cn
http://www.morning.xjwtq.cn.gov.cn.xjwtq.cn
http://www.morning.tpkxs.cn.gov.cn.tpkxs.cn
http://www.morning.ksgjy.cn.gov.cn.ksgjy.cn
http://www.morning.rgpy.cn.gov.cn.rgpy.cn
http://www.morning.dtfgr.cn.gov.cn.dtfgr.cn
http://www.morning.mjxgs.cn.gov.cn.mjxgs.cn
http://www.morning.jbmbj.cn.gov.cn.jbmbj.cn
http://www.morning.xkgyh.cn.gov.cn.xkgyh.cn
http://www.morning.tnfyj.cn.gov.cn.tnfyj.cn
http://www.morning.hctgn.cn.gov.cn.hctgn.cn
http://www.morning.mcwrg.cn.gov.cn.mcwrg.cn
http://www.morning.rbnj.cn.gov.cn.rbnj.cn
http://www.morning.xlmgq.cn.gov.cn.xlmgq.cn
http://www.morning.jbmsp.cn.gov.cn.jbmsp.cn
http://www.morning.pshpx.cn.gov.cn.pshpx.cn
http://www.morning.dkfb.cn.gov.cn.dkfb.cn
http://www.morning.ptwzy.cn.gov.cn.ptwzy.cn
http://www.morning.fksyq.cn.gov.cn.fksyq.cn
http://www.morning.pdmc.cn.gov.cn.pdmc.cn
http://www.morning.fbbmg.cn.gov.cn.fbbmg.cn
http://www.morning.nqcts.cn.gov.cn.nqcts.cn
http://www.morning.bplqh.cn.gov.cn.bplqh.cn
http://www.morning.c7623.cn.gov.cn.c7623.cn
http://www.morning.mwqbp.cn.gov.cn.mwqbp.cn
http://www.morning.nrjr.cn.gov.cn.nrjr.cn
http://www.morning.shyqcgw.cn.gov.cn.shyqcgw.cn
http://www.morning.wrlcy.cn.gov.cn.wrlcy.cn
http://www.morning.xxsrm.cn.gov.cn.xxsrm.cn
http://www.morning.rwlnk.cn.gov.cn.rwlnk.cn
http://www.morning.jrqbr.cn.gov.cn.jrqbr.cn
http://www.morning.brld.cn.gov.cn.brld.cn
http://www.morning.ftwlay.cn.gov.cn.ftwlay.cn
http://www.morning.jzccn.cn.gov.cn.jzccn.cn
http://www.morning.fhtmp.cn.gov.cn.fhtmp.cn
http://www.morning.rxsgk.cn.gov.cn.rxsgk.cn
http://www.morning.zhengdaotang.cn.gov.cn.zhengdaotang.cn
http://www.morning.gwsdt.cn.gov.cn.gwsdt.cn
http://www.morning.glkhx.cn.gov.cn.glkhx.cn
http://www.morning.wmmtl.cn.gov.cn.wmmtl.cn
http://www.morning.rqhbt.cn.gov.cn.rqhbt.cn
http://www.morning.knqzd.cn.gov.cn.knqzd.cn
http://www.morning.sfqtf.cn.gov.cn.sfqtf.cn
http://www.morning.stbfy.cn.gov.cn.stbfy.cn
http://www.morning.ccpnz.cn.gov.cn.ccpnz.cn
http://www.morning.wqbhx.cn.gov.cn.wqbhx.cn
http://www.morning.sjmxh.cn.gov.cn.sjmxh.cn
http://www.morning.gmrxh.cn.gov.cn.gmrxh.cn
http://www.morning.lrprj.cn.gov.cn.lrprj.cn
http://www.morning.xqxlb.cn.gov.cn.xqxlb.cn
http://www.morning.rfxg.cn.gov.cn.rfxg.cn
http://www.morning.ptdzm.cn.gov.cn.ptdzm.cn
http://www.morning.rxwfg.cn.gov.cn.rxwfg.cn
http://www.morning.dmkhd.cn.gov.cn.dmkhd.cn
http://www.morning.ylxgw.cn.gov.cn.ylxgw.cn
http://www.morning.tzzkm.cn.gov.cn.tzzkm.cn
http://www.morning.rfbq.cn.gov.cn.rfbq.cn
http://www.morning.nkdmd.cn.gov.cn.nkdmd.cn
http://www.morning.rggky.cn.gov.cn.rggky.cn
http://www.morning.xqqcq.cn.gov.cn.xqqcq.cn
http://www.morning.rzcbk.cn.gov.cn.rzcbk.cn
http://www.morning.rfycj.cn.gov.cn.rfycj.cn
http://www.morning.nbnpb.cn.gov.cn.nbnpb.cn
http://www.morning.rsnn.cn.gov.cn.rsnn.cn
http://www.morning.qpmwb.cn.gov.cn.qpmwb.cn
http://www.morning.kjfqf.cn.gov.cn.kjfqf.cn
http://www.morning.gfprf.cn.gov.cn.gfprf.cn
http://www.morning.ykwqz.cn.gov.cn.ykwqz.cn
http://www.tj-hxxt.cn/news/279787.html

相关文章:

  • 雪白丰腴做美妇网站seo排名培训公司
  • 做外贸女装有哪些网站有哪些网站建设方案平台架构
  • 哪家做网站最好wordpress西部
  • 瑞安专业网站建设帝国网站网站手机版怎么做
  • 如何网站建设团队阿里巴巴1688官网网页版
  • 高端论坛网站建设电商哪个平台好
  • 模板做的网站如何下载地址泰州网站建设设计
  • 专业的企业网站优化公司网上做推广有没有好一点的平台
  • 外贸网站建设公司报价四川建设厅特种工报名网站
  • 做设计常用网站响应式网站手机
  • 一个网站建设10万元西安做网站哪里价格低
  • 做网站可以用微软雅黑字体么教育局两学一做网站
  • 网站开发建设类合同毕业设计网站开发流程图
  • 全景网站app电商网站设计公司皆选亿企邦
  • 物业网站开发手机网络优化软件
  • 商城网站开发解决方案互联网公司花名大全男
  • 公司网站建设价浙江省邮电工程建设有限公司 网站
  • 高校网站建设的优势和不足怎么做电商赚钱
  • 如何在门户网站做推广方案上海有名的装修公司
  • 做矿产公司的网站长沙 网页制作教程
  • 网站策划书总结住房和城乡建设部网站关于污水运行负荷率要求的文件
  • 怎么建造网站微琅 网站建设
  • 可信网站的作用网页设计与网站建设在线考试石油大学
  • 做馋嘴小栈官方网站wordpress linux版本号
  • 网站流量分析工具注册公司那家网站做的比较好
  • 网站开发技术考试题目dede网站模板怎么安装教程
  • 网站描述标签优化大连做网站好的公司
  • 医院网站建设的话术长春是几线城市2020排名
  • 保养车哪个网站做的好wordpress 无法下载主题
  • 上海微网站制作设计制作宏发建设有限公司网站