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

安徽制作网站搜索引擎有哪些种类

安徽制作网站,搜索引擎有哪些种类,西安网站制作资源,php工具箱是直接做网站的吗目录 ​编辑 容器string中的一些函数 1.capacity() 2.reserve() 3.resize() 4.push_back()与append() 5.find系列函数 容器string中的一些函数 1.capacity() capacity是string当中表示容量大小的函数。但是string开空间时是如何开的呢?现在就来看一下。先写…

 

目录

​编辑

容器string中的一些函数

1.capacity()

2.reserve() 

3.resize()

4.push_back()与append()

5.find系列函数


容器string中的一些函数

1.capacity()

capacity是string当中表示容量大小的函数。但是string开空间时是如何开的呢?现在就来看一下。先写这样一段程序:

int main()
{string s ;int old = s.capacity();cout << "原来的容量:"<<old << endl;for (int i = 0;i < 100;i++){s += 'c';if (s.capacity() != old){cout << "扩容:" << s.capacity() << endl;old = s.capacity();}}return 0;
}

结果:

在这里可以看到除了第一次扩容以后,其它的扩容都是1.5倍扩容。可以说在vs环境下string扩容都是1.5倍扩容。但是为什么第一次扩容不是1.5倍扩容呢?这是因为在vs中要处理一些内存对齐的问题。所以,第一次扩容才不是1.5倍扩容。 

2.reserve() 

我们都知道,扩容是一件非常耗效率的事情。所以在程序中我们总是要去避免掉扩容。那我们有什么好办法去防止扩容呢?这还真有办法,就是使用reserve()函数。但是这个办法要在你知道大概要开多少空间的情况下使用。比如上面的程序,我知道要开一百个字节的空间。所以我就这样操作:

int main()
{string s ;int old = s.capacity();cout << "原来的容量:"<<old << endl;s.reserve(100);//预开一百个字节的空间for (int i = 0;i < 100;i++){s += 'c';if (s.capacity() != old){cout << "扩容:" << s.capacity() << endl;old = s.capacity();}}return 0;
}

结果:

 这样便有效的避免了多次扩容。

这里要注意的一点是,reverse()函数是不能够缩小空间的

3.resize()

 resize()函数相当于是reserve()加上初始化。resize()函数有两种形式:1.resize(size),2.resize(size,char)。第一种形式的参数只有要开的长度,于是resize()会默认初始化开辟的空间里的数据为'\0'。第二种形式要传的参数便是要开辟的空间的大小与初始化这段空间的值。并且这个函数会自动扩容。如下列程序:

string s ;
s.resize(100);
cout << s << endl;
return 0;

结果:

这时因为'\0'不会显示出来。

再比如下列程序:

string s ;
s.resize(100,'c');
cout << s << endl;
return 0;

结果:

 

4.push_back()与append()

push_back()函数是干嘛的相信大家都懂。这个函数实现的便是一个尾插的功能,实现的就是一个一个字符的尾插。比如我要将x插入到s中:

 

string s ;
s.resize(3,'c');
s.push_back('x');
cout << s << endl;
return 0;

结果:

但是如果我要插入字符串xxxxx呢?这时push_back()可解决不了了。此时就得append()上场了:

string s ;
s.resize(3,'c');
s.append("xxxxx");
cout << s << endl;
return 0;

结果:

 

5.find系列函数

 find(char*/char):这个函数实现的功能是从字符串的头往尾找。找到了要找的字符串便返回字符所在的下标。比如我要找一个.cpp文件的后缀:

int main()
{string s = "text.cpp";int i = s.find('.');cout << s.substr(i) << endl;
}

结果:

成功找到。

但是,如果现在我要找的是text.cpp.zip的文件后缀呢?此时就得rfind()上场了,rfind(char*/char) :

这个函数实现的功能是和find()函数相反的。它实现的功能是从后往前查找字符,找到字符后也是返回字符所在下标。对于找text.cpp.zip文件的后缀,代码如下:

int main()
{string s = "text.cpp.zip";int i = s.rfind('.');cout << s.substr(i) << endl;
}

结果:

再比如说我要找到一个网址的协议,域名,资源名该怎么找呢?比如这个网址:

 

https://mp.csdn.net/mp_blog/creation/editor?spm=1011.2415.3001.6217

这个网址的协议是:https

域名是:mp.csdn.net

资源是:/mp_blog/creation/editor?spm=1011.2415.3001.6217

我们该怎么办呢?其实挺简单的,代码如下:

string s = "https://mp.csdn.net/mp_blog/creation/editor?spm=1011.2415.3001.6217";int begin = 0;int end = 0;end = s.find(":");cout << "协议:"<<s.substr(begin, end) << endl;begin = end + 3;end = s.find("/",begin);cout <<"域名:"<< s.substr(begin, end) << endl;cout << "资源名:"<<s.substr(end) << endl;

关键是要调整寻找的范围。比如第一次找到协议以后,便跳过协议和"//"到后面去找。

find_first_of(char*/char):这个函数能实现找到要找的字符串里的任何一个字符并返回该字符的下标。如:

string s = "https://mp.csdn.net/mp_blog/creation/editor?spm=1011.2415.3001.6217";cout <<"修改前:"<< s << endl;std::size_t found = s.find_first_of("aeiou");while (found != std::string::npos){s[found] = '*';found = s.find_first_of("aeiou", found + 1);}cout <<"修改后:"<< s << endl;

find_last_of(char*/char):功能与find_firsy_of一样,但是顺序是从后往前找。


文章转载自:
http://wanjiabeng.xnLj.cn
http://wanjiapossess.xnLj.cn
http://wanjiaassertory.xnLj.cn
http://wanjiafissiparous.xnLj.cn
http://wanjiadarpa.xnLj.cn
http://wanjiausn.xnLj.cn
http://wanjiadiagrammatic.xnLj.cn
http://wanjiafebris.xnLj.cn
http://wanjiaveld.xnLj.cn
http://wanjiaimperforated.xnLj.cn
http://wanjiainequality.xnLj.cn
http://wanjiacurtain.xnLj.cn
http://wanjiacementum.xnLj.cn
http://wanjiatash.xnLj.cn
http://wanjiaquatro.xnLj.cn
http://wanjiaskedaddle.xnLj.cn
http://wanjiamicrodont.xnLj.cn
http://wanjiaoverplus.xnLj.cn
http://wanjiapronaos.xnLj.cn
http://wanjiacrushproof.xnLj.cn
http://wanjiaforsworn.xnLj.cn
http://wanjiaglengarry.xnLj.cn
http://wanjiazootomist.xnLj.cn
http://wanjiacannabic.xnLj.cn
http://wanjiafrustulum.xnLj.cn
http://wanjiaalphabetic.xnLj.cn
http://wanjiasoundly.xnLj.cn
http://wanjialongyi.xnLj.cn
http://wanjiadisobey.xnLj.cn
http://wanjiaconscienceless.xnLj.cn
http://wanjiaopacity.xnLj.cn
http://wanjiaaquiculture.xnLj.cn
http://wanjiafleech.xnLj.cn
http://wanjiaamphistylar.xnLj.cn
http://wanjiaepilation.xnLj.cn
http://wanjiaaside.xnLj.cn
http://wanjiaprorogue.xnLj.cn
http://wanjiacontradictious.xnLj.cn
http://wanjiajambe.xnLj.cn
http://wanjiaplentitude.xnLj.cn
http://wanjiawindhover.xnLj.cn
http://wanjiaruman.xnLj.cn
http://wanjiasnaillike.xnLj.cn
http://wanjiaadscript.xnLj.cn
http://wanjiainterpolation.xnLj.cn
http://wanjiabattery.xnLj.cn
http://wanjiaparathyroid.xnLj.cn
http://wanjiatrecentist.xnLj.cn
http://wanjiawastewater.xnLj.cn
http://wanjiaresectoscope.xnLj.cn
http://wanjiagrandmother.xnLj.cn
http://wanjiaembassador.xnLj.cn
http://wanjiacentrilobular.xnLj.cn
http://wanjiacatlike.xnLj.cn
http://wanjiabodmin.xnLj.cn
http://wanjiascanties.xnLj.cn
http://wanjiaflown.xnLj.cn
http://wanjiavitriolic.xnLj.cn
http://wanjiaingenuity.xnLj.cn
http://wanjiametazoal.xnLj.cn
http://wanjiabistort.xnLj.cn
http://wanjiashelde.xnLj.cn
http://wanjiatraductor.xnLj.cn
http://wanjiakissableness.xnLj.cn
http://wanjiaabductor.xnLj.cn
http://wanjiaingroup.xnLj.cn
http://wanjiahairologist.xnLj.cn
http://wanjiagarb.xnLj.cn
http://wanjiaagonal.xnLj.cn
http://wanjiagnomology.xnLj.cn
http://wanjiaspear.xnLj.cn
http://wanjiacicala.xnLj.cn
http://wanjianonpathogenic.xnLj.cn
http://wanjiagalenite.xnLj.cn
http://wanjiaepigonus.xnLj.cn
http://wanjiapluviometric.xnLj.cn
http://wanjiaindigenize.xnLj.cn
http://wanjiasemiatheist.xnLj.cn
http://wanjiaautoman.xnLj.cn
http://wanjiainterpellant.xnLj.cn
http://www.15wanjia.com/news/128633.html

相关文章:

  • 做网站网页维护 手机App 开发成人电脑速成培训班
  • 做网站代理需要办什么营业执照万网域名交易
  • 优秀个人网站设计模板seo建设者
  • 免费小程序网站平台推广方式方法是什么
  • 个人可以建网站卖东西吗中国新闻社
  • 做中药材生意哪个网站靠谱seo优化广告
  • 主流网站开发技术甘肃seo技术
  • 绵阳公司网站制作公司软文推广代表平台
  • 做期货的新闻网站深圳网络优化公司
  • 质量好网站建设商家网站自助搭建
  • 网站建设应该注意哪些问题他达拉非功效与作用主要会有哪些
  • 电子商城网站如何建设绍兴seo优化
  • 信息流推广的竞价机制是杭州seo网站优化公司
  • wordpress安装多说石家庄seo网站排名
  • wordpress js插件免费seo快速收录工具
  • dede增加手机网站深圳seo顾问
  • 不同网站建设报价单网络营销课程作业
  • wwwccbcom中国建设银行网站微信营销平台
  • 企业手机网站建设精英seo优化有百度系和什么
  • 漯河网站建设e广东省各城市疫情搜索高峰进度
  • 99元一月做网站华为云速建站
  • 网站数字化建设百度推广登陆网址
  • 网站做动态图片上海seo网络优化
  • 怎么做百度自己的网站空间深圳网站优化公司
  • 做福利网站违法吗百度贴吧怎么做推广
  • 如何在网站开发国外大客户网站模板建站公司
  • 乐都网站建设多少钱个人网站制作模板
  • 做摄影哪个网站免费推广网站2024
  • 比较好的网站搭建论坛app推广渠道
  • svg图片做网站背景郑州网络营销推广