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

百度广州给做网站公司北京网吧

百度广州给做网站公司,北京网吧,黑龙江建设网政务系统,百度关键词优化的方法前言#xff1a;哈喽小伙伴们#xff0c;从这篇文章开始我们将进行若干个C中的重要的类容器的学习。本篇文章将讲解第一个类容器——string。 目录 一.什么是string类 二.string类常见接口 1.string类对象的常见构造 2.string类对象的容量操作 3. string类对象的访问及遍…前言哈喽小伙伴们从这篇文章开始我们将进行若干个C中的重要的类容器的学习。本篇文章将讲解第一个类容器——string。 目录 一.什么是string类 二.string类常见接口 1.string类对象的常见构造 2.string类对象的容量操作 3. string类对象的访问及遍历操作 4.string类对象的修改操作 总结 一.什么是string类 C语言中字符串是以\0结尾的一些字符的集合为了操作方便C标准库中提供了一些str系列的库函数但是这些库函数与字符串是分离开的其操作也并不能完全满足用户的期望。 而在C的标准库中默认存在一个string类并且该类拥有很多的成员函数来帮助我们更加方便的完成对字符串的一系列操作。 使用string类需要包含头文件#includestring。 二.string类常见接口 1.string类对象的常见构造 对于如何得到一个string类型的对象有以下几种常见构造 string()                                 构造空的string类对象即空字符串string(const char* s)          构造一个string类对象其内容为sstring(size_t n,char c)        构造一个string类对象其内容为n个c字符string(const strings)        拷贝构造函数拷贝s字符串内容 实践代码如下 #includestring #includeiostream using namespace std;int main() {string s0;string s1(hello world!);string s2(5,c);string s3(s1);cout s0 endl;cout s1 endl;cout s2 endl;cout s3 endl; } 结果如下 其中s0为空字符串所以第一行即为空。 2.string类对象的容量操作 如何得到string类对象的信息以及对对象的操作有如下方法 size                返回字符串有效字符长度length            返回字符串有效字符长度capacity         返回空间总大小empty            检测字符串释放为空串是返回true否则返回falseclear              清空有效字符reserve          为字符串预留空间**resize            将有效字符的个数该成n个多出的空间用字符c填充 测试如下 #includestring #includeiostream using namespace std;int main() {string s1(hello world!);s1.reserve(20);cout s1.size() endl;cout s1.length() endl;cout s1.capacity() endl;cout s1.empty() endl;s1.clear();cout s1.empty() endl;s1.resize(10, x);cout s1 endl;return 0; } 结果如下  值得注意的是 1. size()与length()方法底层实现原理完全相同引入size()的原因是为了与其他容器的接口保持一致一般情况下基本都是用size()。 2. clear()只是将string中有效字符清空不改变底层空间大小。  3.reserve(size_t res_arg0)为string预留空间不改变有效元素个数当reserve的参数小于string的底层空间总大小时reserver不会改变容量大小。  3. string类对象的访问及遍历操作 如何对一个string类对象进行遍历操作有如下方法 operator[]             返回pos位置的字符const string类对象调用范围for                  C11支持更简洁的范围for的新遍历方式迭代器iterator          operator[]是对[]运算符的重载实现数组下标的运算功能 int main() {string s1(hello world!);for (size_t i 0; i s1.size(); i){cout s1[i] ;}return 0; } 范围for在前边的文章中已经介绍过了 int main() {string s1(hello world!);for (char e : s1){cout e ;}return 0; } 可以认为是直接用一个临时变量e去一一访问s1字符串的字符。 迭代器的作用是创建一个新的对象可以遍历并选择序列中的一个对象其关键字为iterator。 迭代器包含有若干方法常用的有 begin        获取一个字符串的首位字符 end           获取一个字符串的最后一个字符的下一个字符 用迭代器遍历字符串的方法为 int main() {string s1(hello world!);string::iterator it1 s1.begin();while (it1 ! s1.end()){cout *it1 ;it1;}return 0; } 这种方法很类似于指针但又与指针有很大不同本文不做过多解释。 结果如下 除此之外迭代器还可以反向遍历需要关键字reverse_iterator同时方法 rbegin        获取一个字符串的最后一个字符的下一个字符 rend           获取一个字符串的首位符 int main() {string s1(hello world!);string::reverse_iterator it1 s1.rbegin();while (it1 ! s1.rend()){cout *it1 ;it1;}return 0; } 结果如下 4.string类对象的修改操作 如何对一个string类对象进行各种修改操作有如下方法 push_back        在字符串后尾插字符cappend              在字符串后追加一个字符串operator        在字符串后追加字符串strc_str                  将C格式的字符串转化为C语言格式的字符串find npos        从字符串pos位置开始往后找字符c返回该字符在字符串中的位置rfind                   从字符串pos位置开始往前找字符c返回该字符在字符串中的位置substr                在str中从pos位置开始截取n个字符然后将其返回 对于c_str在C语言格式下的字符串其末尾都会有一个‘\0’用来统计该字符串的长度而C格式下的string字符串由于会有size方法来表示字符串长度所以其字符串结尾不会有‘\0’。 使用案例如下 int main() {string s1 hello world;s1.push_back(!);cout s1 endl;s1.append( hello);cout s1 endl;s1 C;cout s1 endl;size_t pos1 s1.find( );//从前往后找到s1中的 字符并返回其下标位置if (pos1 ! npos){cout s1.substr(pos1) endl;//从pos位置开始截取字符}size_t pos2 s1.rfind( );//从后往前找到s1中的 字符并返回其下标位置if (pos1 ! npos){cout s1.substr(pos2) endl;//从pos位置开始截取字符}return 0; } 结果如下 总结 关于string类的用法到这里就分享完啦。 下篇文章将对string类各接口方法进行模拟实现讲解敬请期待 最后希望能留下您的一键三连我们下期再见
http://www.pierceye.com/news/236783/

相关文章:

  • 乡镇网站建设自查报告做企业门户网站要准备哪些内容
  • 百度做推广一般要多少钱相城seo网站优化软件
  • 博客和网站的区别贵阳网站推广优化公司
  • 专业做公司网站的机构时彩网站开发
  • 网站 建设设计深圳网站建设交易
  • 网站建设氵金手指下拉十二网页设计有啥教程
  • 物流企业网站建设策划书6wordpress 搜索 很慢
  • 青岛网站设计选哪家南海区住房城乡建设和水务局网站
  • 济南冰河世纪网站建设手机可以搭建网站吗
  • 网站建设论文总结wordpress文章排序方式
  • 织梦程序来搭建网站人才招聘网最新招聘信息
  • 网站建设 客户定位支付网站建设费会计分录
  • 深圳网站设计工作室广告公司名字 三个字
  • 长沙门户网站广告网站设计公司
  • 余姚网站建设的公司wordpress 开发文档
  • 怎么建设一个微信网站莱芜金点子最新招工信息
  • 石家庄网站排名优化wordpress修改布局
  • 景安服务器管理助手如何备份网站国外做图标网站
  • 网站轮播怎么做石家庄网站建设规划
  • 免费软件网站下载深圳网站开发哪个公司好
  • 建设项目验收网站公示内网门户网站建设方案
  • 滨海做网站哪家最好宝安附近做网站公司
  • 详情页的五大模块东莞网站优化科技有限公司
  • 南阳建设网站哪家好昆明网站服务
  • 大潮建设集团有限公司 网站网站改版策划方案
  • 网站开发心路历程烟台网站建设薇企汇互联见效付款
  • 企业网站的制作周期wordpress添加数据库表
  • 广告推广营销网站网站买空间的价格
  • 转转假网站怎么做linux建设视频网站
  • 伍佰亿搜索引擎网站系统wordpress 增加备案