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

怎样python做网站新手怎么做seo优化

怎样python做网站,新手怎么做seo优化,wordpress采集主题,专业营销型网站建设公司String的头文件是#include <string> String本质上是一个类&#xff0c;是C实现好的一个类 初学只用学重要的部分&#xff0c;不可能一次性全部学完 1.构造函数 我们先来看它的几个构造函数 首先&#xff08;1&#xff09;就是无参的构造 &#xff08;2&#xff09;是…

String的头文件是#include  <string>

String本质上是一个类,是C++实现好的一个类

初学只用学重要的部分,不可能一次性全部学完

1.构造函数


我们先来看它的几个构造函数

首先(1)就是无参的构造

(2)是对str的字符串进行拷贝(拷贝构造)

(4)常量字符串初始化

(6)拷贝n个字符c进行初始化

上面几个是最常用的

下面几个可以了解一下

(5)就是拷贝s字符串的前n个字符进行初始化

(3)从字符串str的pos位置开始的len长度的部分拷贝

这个地方len还有一个缺省值npos,代表size_t的最大值,可以理解成,如果你不给参数,它会读到字符串读完

 2.其他函数

operator <<和operator>>

string可以直接进行流插入和流提取,因为这个地方对流插入操作符和流提取操作符进行重载了!

compare()

同样的string也可以直接比较大小,比较方式和C语言的strcmp,但是效率比strcmp高,原因是string类里有compare的字符串大小比较的函数

operator=

同样的,我们对于赋值操作符,string也替我们封装好了

下面是几种常用的赋值

int main(void) {string s1;string s2;s1 = "abc";//(2)s2 ='a';//(3)s1 = s2;//(1)return 0;
}

push_back

 那么我们如果要在字符串后面插入怎么办?

string也给我们提供能直接使用的函数

插入一个字符

append()

那如果插入字符串呢?

 

int main(void) {string s1;string s2;string s3;s3 = "asas";s1 = "abc";s2 ='a';s1.push_back('a');s1.append(s3);return 0;
}

operator+=

当然这两个函数比C语言的函数好的地方在于它会自动扩容,但是如果你觉得这两个函数还是复杂了,有一个更简单的方法,直接+=就可以了

int main(void) {string s1;string s2;string s3;s3 = "asas";s1 = "abc";s2 ='a';s1 += s2;s1 += s3;return 0;
}

 这个地方+=本质上和上面两个函数是相同的,只不过我们根据+=类型不同,我们operator+=去调用不同的函数,比如push_back和append

operator []

那么如果我们要遍历字符串怎么办呢?我们可以用operator []

 []符号本质上是对数组进行简引用,当然这个函数操作对象的值是可修改的

如果要遍历字符串,那我们怎么知道这个字符串多长呢?

size()

这个时候我们就可以用size函数了,这个size函数的大小是不算字符串最后的\0的和strlen一样

当然length也是一样的,但是size用的更多,推荐使用size

因此我们就可以去遍历打印字符串了

int main(void) {string s1;s1 = "asas";for (int i = 0;i < s1.size();i++){cout << s1[i] << endl;}return 0;
}

 数组的[]和string的[]底层是不一样的!

int main(void) {string s1;s1 = "asas";char a[3] = {"ab"};a[1];//本质上是*(a+1)s1[1];//本质上是s1.operator[](1)return 0;
}

capacity()

capacity表示的是容量,我们容量不足的时候就会自动扩容,不同编译器下扩容倍数不同

max_size()

max_size返回字符串能达到的最大值,但是这个值在不同编译器结果不一样,实际毫无意义

clear()

clear表示清理数据,clear会改变size的大小,但是不会改变capacity的大小!有析构函数做最后的保底

empty()

empty判断是否为空

 

3.迭代器

	string::iterator it = s1.begin();while (it != s1.end()){cout << *it <<"  ";++it;
}

1.普通顺序迭代器 interator

迭代器包含it begin end

it是当前指向的位置(初始位置为begin)

begin是指向第一个元素

end是指向最后一个元素

但是begin 和end 以及it都是左闭右开
迭代器是像指针一样的类型,可能是指针,可能不是指针!

string平时迭代器用的不多

那么迭代器有哪些优势呢?

2.迭代器的优点

1.范围for的底层是迭代器

不支持迭代器的就不支持范围for

比如说栈,因为要求先进先出,所以不支持迭代器,也不支持范围for

2.任何容器都支持迭代器,且用法相似,迭代器会和容器配合

3.反向迭代器  reverse_iterator

rebegin指向最后一个元素

rend指向第一个元素

rit指向当前位置,(初始位置为最后一个元素)

string::reverse_iterator it = s1.rbegin();while (it != s1.rend()){cout << *it << "  ";++it;}

当然这个地方用auto也很爽()包括上面的正序也可以

	auto it = s1.rbegin();while (it != s1.rend()){cout << *it << "  ";++it;}

4.const顺序迭代器和const逆序迭代器

对于const对象,我们不能用普通迭代器,就要用const迭代器

同样逆置也有它的const迭代器

void aaa(const string& s1)
{string::const_iterator it = s1.begin();//或者auto it=s1.begin();while (it != s1.end()){cout << *it << "  ";++it;}auto ot=s1.rbegin();//或者string::const_reverse_iterator ot = s1.rbegin();while (ot!=s1.rend()){cout << *ot << "  ";++ot;}
}
int main(void) {string s1 = "asas";aaa(s1);return 0;
}

http://www.hkea.cn/news/504021/

相关文章:

  • 管理公司网站建设引擎搜索优化
  • 上市公司专利查询网站百度广告投放价格
  • html5电商网页制作网站怎么seo关键词排名优化推广
  • 大同网站建设黄冈网站推广优化找哪家
  • 昌邑网站建设站长之家网站排名
  • 建设企业网站的需求分析免费域名
  • 重庆欧勒精细有限公司网站策划书百度竞价推广开户
  • 怎么做一键添加信任网站ios aso优化工具
  • ps做网站的分辨率多少钱苹果cms永久免费建站程序
  • 网站推广积分常用于网站推广的营销手段是
  • wordpress时间云储存沈阳网站制作优化推广
  • h5响应式网站建设竞价托管哪家效果好
  • 企业解决方案参考网站品牌软文营销案例
  • 做淘客要有好的网站上海百度seo
  • 网站建设 seojsc宁德seo推广
  • 建立网站的作用信息流优化师工作总结
  • 如何建设物流网站近期时事新闻
  • 网站开发大赛发言稿网址搜索
  • 论坛类型的网站怎么做拉新推广平台有哪些
  • pc官方网站视频专用客户端app
  • 成都哪家做网站建设比较好搜索关键词排名查询
  • 无锡网站优化推广广州网站推广运营
  • 电子商务网站开发的步骤短视频seo排名系统
  • 如何用模板做网站视频河北电子商务seo
  • 动态网站代码设计做小程序的公司
  • 网站建设软件开发的新闻北京关键词优化报价
  • 在上海做兼职在哪个网站好百度售后电话人工服务
  • 深圳网站开发招聘谁能给我个网址
  • 长沙做个网站多少钱怎样免费给自己的公司做网站
  • wordpress to微博优化营商环境条例