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

温州网站推广公司好的公司网站

温州网站推广公司,好的公司网站,建筑网片施工中的用途,自己的电脑做服务器 并建网站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];//本质上是*a1s1[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 its1.begin();while (it ! s1.end()){cout *it ;it;}auto ots1.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.w-s-a.com/news/359292/

相关文章:

  • 如何设计酒店网站建设深圳市房地产信息系统平台
  • 伍佰亿网站怎么样网站建设前台后台设计
  • 做整装的网站北京哪个网站制作公司
  • 建设赚钱的网站福州便民生活网
  • 咸阳网站设计建设公司小程序打包成app
  • 做视频网站视频文件都存放在哪做旅游宣传图的网站有哪些
  • 地方门户类网站产品推广惠州市中国建设银行网站
  • 网站建设公司推荐5788移动版wordpress
  • 产品类型 速成网站淘宝怎么建立自己的网站
  • 南京优化网站建设公司的网站怎么建设
  • 做网站开发能挣钱月嫂云商城网站建设
  • 包装网站模板新手入门网站建设
  • 做网站的天津哪个公司做网站
  • 网站建设摊销时间是多久微信官网免费下载安装
  • 网站解析是做a记录吗群晖 wordpress 阿里云
  • 涉县移动网站建设公司常州做网站的公司有哪些
  • 网站批量创建程序中国十大人力资源公司
  • 菏泽网站建设 梧桐树二次开发创造作用
  • 维护网站费用长沙广告设计公司排名
  • 模仿别人网站侵权wordpress 修改链接失效
  • wordpress文章设置受密码保护南宁网站优化公司哪家好
  • 网站开发工程师介绍设计类的网站
  • 嘉兴seo网站推广中山建网站多少钱
  • 高端汽车网站建设帮别人做网站自己为什么会被抓
  • 网站开发实验室建设方案wordpress 主题丢失
  • 珠宝网站建设平台分析报告郑州最新发布
  • 世界杯最新排名泉州seo网站关键词优
  • 广州公司网站提供如何推广新品
  • 网站建设如何描述沈阳网站建设推广平台
  • 用dw制作个介绍家乡网站学生个人简历