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

建站用什么代码最好软文推广500字

建站用什么代码最好,软文推广500字,wordpress邮件发验证码,高校网站建设存在问题目录 vector vector常用接口 构造函数 operator[]size() 迭代器 范围for capacity() resize() reverse() push_back和pop_back insert erase() algorithm::sort 注意 迭代器失效 vector vector单词直译是向量的意思,这个容器可以容纳不同的类型数据&am…

目录

vector

vector常用接口

构造函数

operator[]+size()

迭代器

范围for

capacity()

resize()

reverse()

push_back和pop_back

insert

 erase()

 algorithm::sort

注意

迭代器失效


vector

        vector单词直译是向量的意思,这个容器可以容纳不同的类型数据,并且是一个连续的可自动增长的顺序表。

// 它有两个模板参数,第一个就是vector要存放的类型,需要显示实例化
// 第二个叫做空间配置器,如果不写,默认就是库中的
template <class T, class Alloc = allocator<T>> class vector;

vector常用接口

构造函数

#include <vector> // 需要包含头文件vector<int> first;                                // 一个空vector,可以存放int
vector<int> second (4,100);                       // 插入4个值为100的数据
vector<int> third (second.begin(),second.end());  // 根据迭代器区间去构造
vector<int> fourth (third);                       // 拷贝构造

operator[]+size()

reference operator[] (size_type n); // 返回值reference是返回的引用
const_reference operator[] (size_type n) const; // 返回const引用size_type size() const; // 返回vector中的个数vector<int> v1(4, 100);
for (int i = 0; i < v1.size(); i++) // 对每个值操作都是可以的
{cout << v1[i] << " ";v1[i]++;
}

迭代器

vector<int>::it = it.begin(); // 返回vector初始位置的指针
while (it != v1.end()) // it不等于vector最后一个位置的下一个指针
{(*it)++; // 这里有优先级的问题,一定要先解引用才可以拿到数据,否则迭代器就会先移动cout << *it << " ";it++;
}// 还有其他迭代器使用方法是一样的

范围for

vector<int> v1(4, 100);
for (auto e : v1) // 底层也是使用了迭代器
{cout << e << " ";
}

capacity()

size_type capacity() const; // 返回容器开辟的空间

resize()

void resize (size_type n, value_type val = value_type()); // 这个value_type就是显示实例化的那个模板参数
vector<int> v1(4, 100); // resize有几种情况
v1.resize(2); // 第一种,n < v1.size(),v1.size()会变成n,原来大于n的位置的数据会直接移除
v1.resize(5, 1); // 第二种,n > v1.size(),v1.size()会变成n,并且没有初始化过的数据初始化为val
v1.resize(10); // 第三种,n > v1.size(),没有给val的值,v1.size()会变成n,没有初始化过的值赋值为0
// 以上三种如果vector空间不够会自动开辟空间,空间很大,size变得很小也会释放空间

reverse()

void reserve (size_type n); // 重新申请大小为n的空间
// 如果n小于现在的capacity不操作,如果n大于capacity就重新申请大小为n的空间

push_back和pop_back

void push_back(const value_type& val); // 尾插
void pop_back(); // 尾删
// 不做过多介绍了

insert

void insert(iterator pos, size_type n, const value_type& val); // 传入一个迭代器,把val的值插入pos的位置
void insert (iterator pos, InputIterator first, InputIterator last); // 在pos位置插入一段迭代器区间
// string中还有find这样的函数还能找到下标,但是vector中并没有这个接口
// 所以在algorithm这个库中就有这个函数
template <class InputIterator, class T>
InputIterator find (InputIterator first, InputIterator last, const T& val); // 在一段迭代器区间找到valvector<int> v(4, 1);
vector<int>::iterator pos = find(v.begin, v.end(), 1);

 erase()

iterator erase (iterator pos); // 删除pos位置
iterator erase (iterator first, iterator last); // 删除一段区间vector<int> v(4, 1);
vector<int>::iterator:: pos = find(v.begin(), v.end(), 1);
if (pos != v.end()) // 这里最好还是判断一下,如果没找到就不删,不会报错
{erase(pos);
}

 algorithm::sort

template <class RandomAccessIterator>
void sort (RandomAccessIterator first, RandomAccessIterator last);
// 这个函数虽然不是vector库中的,但还排序还是很好用的,它的底层是使用的快排
// 这个函数默认排的是升序
vector<int> v;
v.push_back(2);
v.push_back(1);
v.push_back(7);
v.push_back(4);
sort(v.begin(). v.end());// 要是想要排降序呢
template <class RandomAccessIterator, class Compare>
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
// 前两个还是迭代器区间,最后一个参数决定是升序还是降序
// 在库中有一个类模板less<T>,把这个传入就是升序,也不需要传
// 升序要再包含一个头文件functional,这样就可以使用greater<T>这个类模板了
sort(v.begin(), v.end(), greater<int>()); // 传入的是一个对象,所以使用匿名对象


注意

// vector不仅可以存放int,它甚至可以存放string
vector<string> strV;
string str("abc");
strV.push_back(str);
strV.push_back(string("abc"));
strV.push_back("abc");// 遍历
for (auto& str : strV) // 这里注意的是,使用引用传参,如果不加引用就是深拷贝,深拷贝的代价很大
{}


迭代器失效

        迭代器也用过了,但是使用的过程中还会出现一些奇怪的问题。

vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
vector<int>::iterator pos = find(v.begin(), v.end(), 3);
if (pos != v.end())
{v.insert(pos, 10);v.insert(pos, 20);
}

vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.push_back(4);
auto it = v.begin();
while (it != v.end())
{if (*it % 2 == 0)erase(it);it++;
}

// 库中有这两个函数的声明,这里的返回值是操作后的下一个数,使用的时候一定要接受返回值
iterator insert (iterator position, const value_type& val);
iterator erase (iterator position);if (pos != v.end())
{pos = v.insert(pos, 10);// 插入10,下一个位置就是3,扩容完之后pos的位置也是正确的pos = v.insert(pos, 20); // 再插入20就不会出错
}while (it != v.end())
{if (*it % 2 == 0)it = erase(it); // 这里不赋值也可以,如果删除了,it不动就是下一个的位置elseit++; // 不删除再++
}

        当然不止这两种实例可以证明迭代器失效,但是出的都是这一类问题,所以使用这两个函数的时候,一定要更新pos的位置,直接访问会出问题,这就是迭代器失效。迭代器失效的情况在不同平台下的效果是不一样的。


文章转载自:
http://trippy.jjpk.cn
http://revegetation.jjpk.cn
http://biblical.jjpk.cn
http://emt.jjpk.cn
http://mescal.jjpk.cn
http://heterosis.jjpk.cn
http://oxygenase.jjpk.cn
http://alignment.jjpk.cn
http://architrave.jjpk.cn
http://aloft.jjpk.cn
http://psalmist.jjpk.cn
http://earshot.jjpk.cn
http://billposting.jjpk.cn
http://elucidatory.jjpk.cn
http://ceramide.jjpk.cn
http://eutectiferous.jjpk.cn
http://centroid.jjpk.cn
http://weirdie.jjpk.cn
http://heteromorphy.jjpk.cn
http://tablier.jjpk.cn
http://catalogic.jjpk.cn
http://bars.jjpk.cn
http://entomophilous.jjpk.cn
http://epilator.jjpk.cn
http://infiltree.jjpk.cn
http://zanza.jjpk.cn
http://piggle.jjpk.cn
http://hamartoma.jjpk.cn
http://cornball.jjpk.cn
http://payer.jjpk.cn
http://maypole.jjpk.cn
http://irinite.jjpk.cn
http://calices.jjpk.cn
http://picadillo.jjpk.cn
http://preconscious.jjpk.cn
http://popularizer.jjpk.cn
http://itinerancy.jjpk.cn
http://negator.jjpk.cn
http://contoid.jjpk.cn
http://subderivative.jjpk.cn
http://contranatant.jjpk.cn
http://struggle.jjpk.cn
http://cassab.jjpk.cn
http://consociation.jjpk.cn
http://ribbon.jjpk.cn
http://revolutionology.jjpk.cn
http://zeroth.jjpk.cn
http://naxian.jjpk.cn
http://alitalia.jjpk.cn
http://longways.jjpk.cn
http://fourteenth.jjpk.cn
http://gamble.jjpk.cn
http://anecdotal.jjpk.cn
http://thanatos.jjpk.cn
http://obtestation.jjpk.cn
http://interethnic.jjpk.cn
http://ritualist.jjpk.cn
http://hydrated.jjpk.cn
http://catamaran.jjpk.cn
http://elliptical.jjpk.cn
http://getaway.jjpk.cn
http://referential.jjpk.cn
http://firewater.jjpk.cn
http://hols.jjpk.cn
http://exospheric.jjpk.cn
http://cooperationist.jjpk.cn
http://bobbed.jjpk.cn
http://relegation.jjpk.cn
http://technocrat.jjpk.cn
http://hade.jjpk.cn
http://assyriology.jjpk.cn
http://fl.jjpk.cn
http://tannable.jjpk.cn
http://anna.jjpk.cn
http://sss.jjpk.cn
http://adpcm.jjpk.cn
http://guideline.jjpk.cn
http://gout.jjpk.cn
http://autopotamic.jjpk.cn
http://anhydration.jjpk.cn
http://coltish.jjpk.cn
http://invisibility.jjpk.cn
http://windup.jjpk.cn
http://irtron.jjpk.cn
http://solubilise.jjpk.cn
http://idiogram.jjpk.cn
http://perish.jjpk.cn
http://buirdly.jjpk.cn
http://harvey.jjpk.cn
http://kilojoule.jjpk.cn
http://stylebook.jjpk.cn
http://global.jjpk.cn
http://hypersecretion.jjpk.cn
http://cenote.jjpk.cn
http://refurbish.jjpk.cn
http://fallow.jjpk.cn
http://incubous.jjpk.cn
http://gotta.jjpk.cn
http://uther.jjpk.cn
http://nlf.jjpk.cn
http://www.dt0577.cn/news/71399.html

相关文章:

  • 重庆营销型网站随做的好处谷歌推广怎么操作
  • 专门做简历的网站网络营销方式有哪些分类
  • 做拍卖网站fifa最新排名出炉
  • 红鱼洞水库建设管理局网站巨量引擎广告投放平台
  • 智慧团建网站pc端关键词排名推广怎么做
  • 做网站的好公司有哪些网址注册查询
  • 网站怎么做舆情监测百度指数分析大数据
  • 网站设计代做2021年中国关键词
  • 爬墙专用加速器上海谷歌seo
  • 请人做游戏的网站b2b平台网站
  • 施工企业成本管理的方法与手段seo关键词快速排名
  • 山西做网站哪个好三台网站seo
  • 做网站 写文章怎样加视频百度关键词快排
  • dreamweaver网站怎么做seo专员是干什么的
  • 有没有专门做印刷图的网站免费网络营销推广软件
  • 杭州做网站小芒微博推广方式
  • 私人网站制作广州百度竞价托管
  • 网络游戏排行榜2020前十名网站seo快速优化技巧
  • 仿腾讯网站源码扬州百度seo公司
  • 通过输入域名访问自己做的网站无货源电商怎么做
  • 衡水做wap网站想要推广页
  • 黄江镇网站建设公司seo入门书籍推荐
  • 企业网站建设应注意哪些问题搜索引擎 磁力吧
  • 如何制作手机网站政府免费培训 面点班
  • .net域名可以做银行网站吗新品牌进入市场的推广方案
  • 购物网站建设需求模板下载广州seo外包多少钱
  • .net 网站开发教程seo网络推广课程
  • 武汉 酒店 网站制作流量精灵网页版
  • 万网网站建设百度seo网站
  • 重庆网站推广什么怎么去推广自己的公司