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

asp网站开发 基础ui设计师是青春饭吗

asp网站开发 基础,ui设计师是青春饭吗,如何设计公众号,设计院门户网站建设方案文章目录string类基本用法1. 为什么要学习string类#xff1f;1.1 C语言中的字符串2. 标准库中的string类2.1 string类2.2 string类的常用接口说明小试牛刀1. 仅仅反转字母2. 字符串中第一个唯一字符3. 字符串中最后一个单词的长度string类基本用法 1. 为什么要学习string类1.1 C语言中的字符串2. 标准库中的string类2.1 string类2.2 string类的常用接口说明小试牛刀1. 仅仅反转字母2. 字符串中第一个唯一字符3. 字符串中最后一个单词的长度string类基本用法 1. 为什么要学习string类 1.1 C语言中的字符串 C语言字符串是以/0结尾的一些字符的集合为了操作方便。C语言标准库中提供了一些str系列的函数但是这些库函数是与字符串分开的不符合OOP的思想而且底层空间需要自己管理稍不注意可能造成越界访问。 什么是OOP思想 面向过程编程OPPProcedure Oriented Programming是一种以事物为中心的编程思想。主要关注“怎么做”即完成任务的具体细节。 面向对象编程OOPObject Oriented Programming是一种以对象为基础的编程思想。主要关注“谁来做”即完成任务的对象。 面向切面编程AOPAspect Oriented Programming基于OOP延伸出来的编程思想。主要实现的目的是针对业务处理过程中的切面进行提取它所面对的是处理过程中的某个步骤或阶段以获得逻辑过程中各部分之间低耦合性的隔离效果。 2. 标准库中的string类 2.1 string类 字符串是表示字符序列的类标准的字符串提供了对此类对象的支持其接口类似于标准字符容器的接口但添加了专门用于操作单字节字符串的设计特性string类是使用char作为它的字符类型使用它默认的char_traits和分配类型string是basic_string模板类的一个实例它使用char来实例化basic_string模板类注意这个类独立于所使用的编码来处理字节。如果用来处理多个字节或者变长字符UTF-8序列这个类的所有成员如长度或者大小以及它的迭代器将仍然按照字节而不是实际编码的字符操作 总结 string表示字符串的字符串类该类的接口与常规容器的接口基本相同再添加了一些专门用来操作string的常规操作string的底层实现是basic_string模板类的别名不能操作多字节或者变长字符的序列 2.2 string类的常用接口说明 string类对象的常见构造 constructor函数名称功能说明string重点构造空的string类对象即空字符串string(const char* s)(重点)用C-string来构造string类string(size_t, char c)string对象中包含n个字符cstring(const string s)拷贝构造函数 void Teststring() {string s1; // 构造空的string类对象s1string s2(hello bit); // 用C格式字符串构造string类对象s2string s3(s2); // 拷贝构造s3 }string对象的容量操作 函数名称功能说明size返回字符串有效字符长度length返回字符串有效字符长度capacity返回空间总大小empty检测字符串释放为空串是返回true不是返回falseclear清空有效字符reserve为字符串预留空间resize将有效字符的个数改成为n个多出的空间用字符c填充 注意 size()与length()方法底层实现原理完全相同引入size()的原因是为了与其他容器的接口保持一致一般情况下都使用size() clear()只是将string中的有效字符清空不改变底层空间的大小 resize(size_t n)与resize(size_t n, char n)都是将字符串中的有效字符个数改变为n个不同的是当字符个增加时resize(n)用0来填充多出的元素空间resize(size_t n, char c)用字符c来填充多出的元素空间。注意resize在改变元素个数时如果将元素个数增多可能会改变底层容量的大小如果将元素个数减少底层空间总大小不变 reserve(size_t res_arg0)为string预留空间不改变有效元素个数当reserve的参数小于string底层空间总大小时reserve不会改变容量大小 string类对象的访问及遍历操作 函数名称功能说明operator[]返回pos位置的字符const string类对象调用begin和endbegin获取一个字符的迭代器end获取最后一个字符下一个位置的迭代器rbegin和rendrbegin获取第一个字符的迭代器rend获取最后一个字符下一个位置的迭代器范围forC11支持更简洁的范围for的新遍历方式 string类对象的修改操作 函数名称功能说明push_back在字符串后尾插字符cappend在字符串后追加一个字符串operator在字符串后追加字符串strc_str返回C格式字符串find和npos从字符串pos位置开始往后找字符c,返回该字符在字符串中的位置rfind从字符串pos位置开始往前找字符c返回该字符在字符串中的位置substr在str从pos位置开始截取n个字符然后将其返回 注意 在string尾部追加字符时 三种实现方式差不多通常情况下使用操作比较多这个操作不仅可以连接单个字符还可以连接字符串 对string操作时如果能够大概预估放多少字符可以通过reserve把空间预留好 string类非成员函数 函数功能说明operator尽量少用因为传值返回导致深拷贝效率低operator输入运算符重载operator输出运算符重载getline获取一行字符串relational operators大小比较 vs和g下string结构的说明 VS下string的结构 string总共占28个字节内部结构稍微复杂一点先是有一个联合体联合体用来定义string中字符串的存储空间 当字符串长度小于16时 使用内部固定的字符数组来存放当字符长度大于16时从堆上开辟空间 大多数情况下字符串的长度都小于16那string对象创建好之后内部已经有了16个数组固定空间不需要通过堆创建效率高 还有一个size_t字段保存字符串长度一个size_t字段保存从堆上开辟空间总的容量 还有一个指针做一些其他的事情 g下string的结构 在g下string是通过写时拷贝实现的 string对象总共占4个字节内部包含了一个指针该指针将来指向一块堆空间内部包含了如下字段 空间总大小字符串有效长度引用计数指向堆空间的指针用来存储字符串 小试牛刀 1. 仅仅反转字母 链接 class Solution { public:string reverseOnlyLetters(string s) {int begin 0, end s.size();while (begin end) {while (begin end !isalpha(s[begin])) {begin ;}while (begin end !isalpha(s[end])) {end --;}swap(s[begin], s[end]);begin ;end --;}return s;} };思路两个指针一个从头开始遍历一个从尾开始遍历。不是字母就 或者– 2. 字符串中第一个唯一字符 链接 class Solution { public:int firstUniqChar(string s) {int arr[26] {0};for (auto c : s) {arr[c - a] ;}for (int i 0; i s.size(); i ) {if (1 arr[s[i] - a]) {return i;}}return -1;} };思路将这个字符串中的每个字符出现的次数存放在一个数组当中然后第二次遍历如果是第一个出现1说明就是我们要找的索引 3. 字符串中最后一个单词的长度 链接 #include iostream #include stringusing namespace std;int main() {string str;getline(cin, str);size_t pos str.rfind( );if (pos ! string::npos) {cout str.size() - pos - 1 endl;} else {cout str.size() endl;}return 0; }思路从后往前找到第一个空格然后直接让字符串的总长度减去空格的位置加上一个1就可以了。
http://www.w-s-a.com/news/608126/

相关文章:

  • 望都网站建设抖音广告投放收费标准
  • 网站制作软件排行榜上海市网站建设公司58
  • 什么是网站风格中国工商网企业查询官网
  • 专业建设专题网站wordpress lnmp wamp
  • 环保网站 下载页网站
  • 开源小程序模板江门关键词优化排名
  • 网站开发 知乎房地产型网站建设
  • 买完域名网站怎么设计wordpress 纯代码
  • 公司网站怎么做百度竞价宁波网络公司哪家好
  • 河西网站建设制作微信分销系统多层
  • 网站制作完成后应进入什么阶段石家庄网站建设找哪家好
  • 南通外贸网站推广自在源码网官网
  • 个人网站模板html下载餐饮vi设计案例欣赏
  • 高端网站建设wanghess网站开发售后服务承诺
  • 江西网站建设费用企业网站推广的方法有( )
  • 中国十大网站开发公司企业网站建设的要素有哪些
  • 网站防站做网站吉林
  • 嘉定区网站建设公司企业信息公示查询系统官网
  • 一个具体网站的seo优化产品介绍网站模板下载地址
  • 怎么做网站在网上能搜到你哈尔滨网站建立公司
  • 做家旅游的视频网站上海百度公司总部
  • 微信小程序公司网站怎么制作区块链平台定制开发
  • 网站资质优化ip地址域名解析
  • 如何搭建个人网站ps做网站首页怎么运用起来
  • 中小企业商务网站建设wordpress 安全加固
  • asp网站开发设计文档php建设网站怎么用
  • 服装公司网站建设需求分析报告seo搜索引擎优化实战
  • wordpress 扒站最近最新新闻
  • 手机wap网站开发与设计wordpress域名无法访问
  • 百度收录网站收费吗做网站用vs还是dw