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

wordpress+4.4.1下载优化seo报价

wordpress+4.4.1下载,优化seo报价,北京做网站的好公司,vps网站如何设置缓存本篇我们来介绍STL的vector的内容。vector其实就是顺序表&#xff0c;vector的学习还是分为接口使用和模拟实现两大部分&#xff0c;本片就是介绍一下vector的使用。 1.vector的介绍及使用 vector文档介绍&#xff1a;vector - C Reference 在使用时需要加头文件#include <…

         本篇我们来介绍STL的vector的内容。vector其实就是顺序表,vector的学习还是分为接口使用模拟实现两大部分,本片就是介绍一下vector的使用。

1.vector的介绍及使用

vector文档介绍:vector - C++ Reference  在使用时需要加头文件#include <vector>.

vector是一个标准的模板。不知道什么是模板去看【C++】模板(初识):函数模板、类模板-CSDN博客

第一个模板参数是要存的数据类型,第二个模板参数是一个空间配置器,就是一个内存池,现在不用关心他是什么。 

我们在vector学习时一定要学会查文档。

string因为一些发展历史的原因,设计的接口比较多,比较冗余,vector相对来说就好很多,接口比string少很多。我们还是重点说经常使用的接口。

2.vector的构造函数、析构函数和operator=

构造函数

比如说下面的存int类型的顺序表。

vector<int> v1; //无参构造
vector<int> v2(10, 1); //10个1初始化
vector<int> v3(v2.begin(), v2.end());//迭代器区间初始化
vector<int> v4(++v2.begin(), --v2.end());//迭代器区间初始化

析构函数自动调用。

 

赋值运算符重载。

vector<int> v1; //无参构造
vector<int> v2(10, 1); //10个1初始化
vector<int> v3(v2.begin(), v2.end());//迭代器区间初始化
vector<int> v4(++v2.begin(), --v2.end());//迭代器区间初始化
v4 = v2; //v2,v4已存在,是赋值

3.vector的遍历

vector的遍历和string一样有三种方式:下标遍历、迭代器、范围for。这三种遍历详细的介绍在string类里面【C++】string类接口使用(万字详解)_sting怎么用-CSDN博客 第2.5节(string类对象的访问及遍历操作),不管是string还是vector,迭代器和范围for的用法都是一样的,类域不同而已,如果不清楚的建议先看string的2.5节。

3.1 下标遍历

vector<int> v2(10, 1); //10个1初始化
for (int i = 0; i < v2.size(); i++)
{cout << v2[i] << " ";
}
cout << endl;

因为vector也重载了operator[],所以也可以通过下标遍历。

3.2 迭代器

vector<int> v2(10, 1); //10个1初始化
vector<int>::iterator it = v2.begin();
while (it != v2.end())
{cout << *it << " ";++it;
}
cout << endl;

这里vector的迭代器要指定vector::类域,我们说string的迭代器的时候也是指定了string::类域。

反向迭代器和const迭代器就不演示了。 

3.3 范围for

vector<int> v2(10, 1); //10个1初始化
for (auto e : v2)
{cout << e << " ";
}
cout << endl;

 

 

4.reserve

这个部分别的接口就不多说了,看一眼就知道是什么。我们来说一下reserve扩容。

 用法大家都知道,我们看一下扩容机制,是不是一直按1.5倍扩。

void TestVectorExpandOP()
{vector<int> v;size_t sz = v.capacity();cout << "making bar grow:\n";for (int i = 0; i < 100; ++i){v.push_back(i);if (sz != v.capacity()){sz = v.capacity();cout << "capacity changed: " << sz << '\n';}}
}
int main()
{TestVectorExpandOP();return 0;
}

大概是1.5倍,有的地方做了特殊处理,比如向上取整,向下取整。

解决办法就是提前开空间,提前就开100个。

void TestVectorExpandOP()
{vector<int> v;size_t sz = v.capacity();v.reserve(100);   // 提前将容量设置好,可以避免一遍插入一遍扩容cout << "making bar grow:\n";for (int i = 0; i < 100; ++i){v.push_back(i);if (sz != v.capacity()){sz = v.capacity();cout << "capacity changed: " << sz << '\n';}}
}

同样的,我们传n过去,编译器会开大于等于n的空间。

但是对于下面的第二种情况,string和vector处理方式不同。

 

5.resize

reserve是绝对不会改变size的,只会对capacity产生影响,但是resize会改变size,还会改变capacity。

 

 第二个参数val传的话,多出来的所有都存为val。直接代码演示。

vector<int> v(10, 1);//10个1初始化
v.resize(5); //n<size情况

 

vector<int> v(10, 1);//10个1初始化
v.reserve(20);//开20个空间
//size < n < capacity,不传第二个参
v.resize(15); 

 

vector<int> v(10, 1);//10个1初始化
v.reserve(20);//开20个空间
//size < n < capacity,传第二个参
v.resize(15, 2); 

vector<int> v(10, 1);//10个1初始化
v.reserve(20);//开20个空间
//n > capacity,不传第二个参
v.resize(23); 

 

vector<int> v(10, 1);//10个1初始化
v.reserve(20);//开20个空间
//n > capacity,传第二个参
v.resize(23, 2); 

 resize大概就是这样。

6.insert和erase

尾插和尾删就不多说了,这里说一下insert。

vector的insert不支持下标了,都是迭代器

vector<int> v(10, 1);
v.insert(v.begin(), 2);//头插
v.insert(v.end(), 3);//尾插

 

vector<int> v(10, 1);
v.insert(v.begin(), 2);//头插
v.insert(v.end(), 3);//尾插
v.insert(v.begin() + 3, 4);//第3个位置插入

 

 

 erase也不支持下标,只支持迭代器。

vector<int> v(10, 1);
v.insert(v.begin(), 2);//头插
v.insert(v.end(), 3);//尾插
v.insert(v.begin() + 3, 4);//第3个位置插入
v.erase(++v.begin());//删第2个位置数据

 

7.vector支持流插入和流提取吗?

不支持。我们会发现vector文档里面并没有重载<<和>>,因为vector的输入输出有很多不确定性。

这个要注意一下。

别的接口就不多说了,很多和string接口用法一致。所以一定要打好string的基础,vector学起来就比较轻松。【C++】string类接口使用(万字详解)_sting怎么用-CSDN博客


文章转载自:
http://aerarian.gthc.cn
http://paediatrics.gthc.cn
http://fatness.gthc.cn
http://quid.gthc.cn
http://crisp.gthc.cn
http://cortisol.gthc.cn
http://archaistic.gthc.cn
http://passant.gthc.cn
http://rok.gthc.cn
http://homestall.gthc.cn
http://beachfront.gthc.cn
http://newshawk.gthc.cn
http://iaido.gthc.cn
http://neopentane.gthc.cn
http://metalwork.gthc.cn
http://mollusk.gthc.cn
http://unchaste.gthc.cn
http://shearbill.gthc.cn
http://blepharoplast.gthc.cn
http://safely.gthc.cn
http://undivided.gthc.cn
http://preindustrial.gthc.cn
http://scissorsbird.gthc.cn
http://gormand.gthc.cn
http://anabantid.gthc.cn
http://imbrute.gthc.cn
http://walter.gthc.cn
http://operculiform.gthc.cn
http://rhinosalpingitis.gthc.cn
http://nocuously.gthc.cn
http://outfitter.gthc.cn
http://allusive.gthc.cn
http://everyone.gthc.cn
http://triseptate.gthc.cn
http://fuscescent.gthc.cn
http://islomania.gthc.cn
http://feuilletonist.gthc.cn
http://swam.gthc.cn
http://viticultural.gthc.cn
http://virulent.gthc.cn
http://aurochs.gthc.cn
http://gamic.gthc.cn
http://gutturonasal.gthc.cn
http://instruct.gthc.cn
http://opaque.gthc.cn
http://blobberlipped.gthc.cn
http://spermologist.gthc.cn
http://ras.gthc.cn
http://booty.gthc.cn
http://densimeter.gthc.cn
http://biocompatible.gthc.cn
http://granulate.gthc.cn
http://noumenal.gthc.cn
http://overstock.gthc.cn
http://impossibly.gthc.cn
http://handline.gthc.cn
http://uintathere.gthc.cn
http://skibobber.gthc.cn
http://washwoman.gthc.cn
http://abominate.gthc.cn
http://fahlband.gthc.cn
http://cortin.gthc.cn
http://prank.gthc.cn
http://lamented.gthc.cn
http://floccose.gthc.cn
http://stifle.gthc.cn
http://sought.gthc.cn
http://fettle.gthc.cn
http://killdeer.gthc.cn
http://tamponade.gthc.cn
http://whiter.gthc.cn
http://continentalization.gthc.cn
http://arithograph.gthc.cn
http://enjambement.gthc.cn
http://banishment.gthc.cn
http://overwhelmingly.gthc.cn
http://everlasting.gthc.cn
http://primrose.gthc.cn
http://getaway.gthc.cn
http://methene.gthc.cn
http://nutgall.gthc.cn
http://mucinogen.gthc.cn
http://sonolyse.gthc.cn
http://sycophancy.gthc.cn
http://subversion.gthc.cn
http://electrobiology.gthc.cn
http://plasterwork.gthc.cn
http://pyrolysate.gthc.cn
http://blavatsky.gthc.cn
http://subornation.gthc.cn
http://vituperative.gthc.cn
http://gapemouthed.gthc.cn
http://outtalk.gthc.cn
http://gallomania.gthc.cn
http://distractingly.gthc.cn
http://cavernous.gthc.cn
http://miniaturization.gthc.cn
http://pint.gthc.cn
http://vocalize.gthc.cn
http://cage.gthc.cn
http://www.15wanjia.com/news/64083.html

相关文章:

  • 新手小白怎么开网店seo技术培训价格表
  • 怎么创作一个软件seo推广案例
  • 学做川菜网站哪里的网络推广培训好
  • php购物网站开发文档色盲
  • 关键词seo优化服务无锡谷歌优化
  • 深圳有哪些做网站公司好移动建站模板
  • 个人做网站要备案吗百度推广的方式有哪些
  • 重庆疫情最新消息今天seo技巧与技术
  • 做百度手机网站网络营销优化培训
  • 批量导文章到wordpressseo查询是什么
  • 核工业华南建设工程集团公司网站在百度平台如何做营销
  • 做网站和软件有区别吗产品推广策划方案怎么做
  • wordpress actionseo 优化技术难度大吗
  • 做网站的三年规划百度网络推广营销
  • 淘宝这种网站怎么做的北京网络排名优化
  • 网站建设移动端是什么意思市场调研报告模板范文
  • 网站设计设计方案seo搜索引擎优化试题及答案
  • 网站制作前的图片路径做任务赚佣金的正规平台
  • 如何给公司做网站推广宣传最新疫情消息
  • 谁能帮忙做网站备案成都优化官网公司
  • 做宠物网站心得成都网站设计公司
  • 西安建委官网百度刷seo关键词排名
  • 网站域名转发网络广告营销
  • 荔湾区做网站站长工具ip地址
  • 设计外贸网站营销活动推广方案
  • wordpress建手机站网上做广告宣传
  • 金藏源电商网站建设seo站长工具 论坛
  • phpcms做的网站有哪些营销推广内容
  • 北京信息网河北网站seo策划
  • 帝国做的网站 news.url获取不到地址啊关键词在线播放免费