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

网站模板哪里好国内能用的搜索引擎

网站模板哪里好,国内能用的搜索引擎,给我免费看播放片,郑州市做网站公司a汉狮#1024程序员节#xff5c;征文# 文章目录 繁星点点映夜空#xff0c;晨曦微露照前程1.string的基本概念2.标准库中的string类2.1 string类2.2 auto和范围for2.3 string类常用的接口2.4 string类对象的容量操作2.5 string类对象的访问及遍历操作2.6 string类对象的修改操作2…#1024程序员节征文# 文章目录 繁星点点映夜空晨曦微露照前程1.string的基本概念2.标准库中的string类2.1 string类2.2 auto和范围for2.3 string类常用的接口2.4 string类对象的容量操作2.5 string类对象的访问及遍历操作2.6 string类对象的修改操作2.7 string类非成员函数 繁星点点映夜空晨曦微露照前程 1.string的基本概念 string是STL标准模板库中的字符串类型用于表示和操作字符串数据。它是一个类封装了char*字符指针并管理该字符串的内存分配和释放用户无需担心内存管理问题。 2.标准库中的string类 2.1 string类 string类的文档介绍 2.2 auto和范围for auto关键字 auto关键字被用于自动类型推断。意味着编译器会根据初始化表达式来自动确定变量的类型从而免去了显式指定类型的麻烦。 •使用场景 ➀简化代码 当一个变量的类型名称特别冗长或复杂时使用auto可以使代码更加简介明了。 ➁与范围for结合 在范围for中auto关键字是必须的因为循环变量会被自动推导为容器元素的类型。 ➂避免类型错误 使用auto可以减少因类型不匹配而导致的编译错误因为编译器会负责类型推导。 •注意事项 ➊类型推导规则auto的类型推导遵循一组特定的规则这些规则与模板类型推导类似。当在同一行声明多个变量时这些变量必须是相同类型否则将会编译报错实际上编译器只对第一个变量进行推导然后用推到出来的类型定义其他变量。 ➋不能用于推导数组类型auto不能用于推导数组类型。如果尝试用auto来声明一个数组变量编译器会报错。 ➌auto不能作为函数的参数: auto不能作为函数的参数,但可以作返回值但需要谨慎使用。 ➍**auto声明指针类型**用auto声明指针类型时用auto和auto*没有任何区别但用auto声明引用类型时则必须加 #includeiostream using namespace std;int func1() {return 10; }void func2(auto a)//不能做参数 {}auto func3()//可以做返回值但是需谨慎使用 {return 3 }int main() {int a 10;auto b a;auto c a;auto d func1();auto e;//编译报错‘e’:类型包含“auto”的符号必须具有初始化值的设定项auto aa 1, bb 2;auto cc 3, dd 4.0;//编译报错在声明符列表中“auto”必须始终推导为同一类型auto array[] {4,5,6};//编译报错数组不能具有其中包含“auto”的元素类型return 0; }范围for 范围for循环Range-based for loop是一种简化的for循环语法它允许我们遍历容器比如数组向量vector列表list等或其他序列类型中的所有元素而无需使用迭代器或下边。 范围for的基础语法如下 for(auto element : container)其中element是循环中每次迭代时的当前元素container是要遍历的容器或者序列。auto关键字用于自动类型推导编译器会根据container中的元素类型来推导element的类型。 例子 1.遍历数组 int arr[] {12345} for(auto e : arr) {std::cout e ; } //输出:1 2 3 4 52.遍历向量vector std::vectorstd::string vec {hello, world!}; for(auto str : vec) {std::cout str ; } //输出hello world!2.3 string类常用的接口 1.string对象的常见构造 constructor函数名称功能说明string() 默认构造函数构造空的string类对象即空字符串string(const char * s)用C-string来构造string类对象stringsize_t n,char cstring类对象中包含n个字符cstring(const string s)拷贝构造函数 •默认构造函数 原型string **说明**构造一个空字符串 示例 #includeiostream #includestring using namespace std;int main() {string s1;cout 默认构造函数构造的字符串s1: s1 endl;cout 字符串长度 s1.size() endl;return 0; }输出结果为空字符串且长度为0.  •C字符串构造函数 原型stringconst char * s 说明 用C风格字符串s以’\0’结束的字符序列来构造新的字符串。 示例 #includeiostream #includestring using namespace std;int main() {string s2(abcdef);cout C字符串构造函数构造的字符串s2: s2 endl;cout 字符串长度 s2.size() endl;return 0; }输出结果为C风格字符串的内容且长度与C风格字符串相同  •填充构造函数 原型string(size_t n,char c) 说明 创建一个包含n个字符c的新字符串 示例 #includeiostream #includestring using namespace std;int main() {string s3(6,a);cout C字符串构造函数构造的字符串s3: s3 endl;cout 字符串长度 s3.size() endl;return 0; }输出结果为6个a的字符串  •拷贝构造函数 原型stringconst string str 说明 构建一个复制的结构即创建一个新的字符串对象其内容与给定的字符串对象str相同。 示例 #includeiostream #includestring using namespace std;int main() {string s0 abcdefgh;string s4(s0);cout C字符串构造函数构造的字符串s4: s4 endl;cout 字符串长度 s4.size() endl;return 0; }输出结果为原字符串且长度与原字符串相同。 2.4 string类对象的容量操作 函数名称功能说明size返回字符串有效字符的长度length返回字符串有效字符的长度capacity返回空间总大小empty检测字符串释放为空串是返回ture,否则返回falseclear清空有效字符reserve为字符串预留空间resize将有效字符的个数改为n个多出的空间用字符c填充 ❗️注意  •size()与length()方法底层实现原理完全相同引入size()的原因是为了与其他容器的接口保持一致一般情况下都使用size()。  •clear()只是将string中的有效字符清空不改变底层空间大小。  •resze(size_t n)与resize(size_t n ,char c)都是将字符串中有效字符的个数改变到n个不同的是当有效字符的个数增多时resize(size_t n)是用0来填充多余的元素空间而resize(size_t n,char c)是用字符c来填充多余的空间。resize在改变元素个数使如果是将元素个数增多可能会改变底层容量空间的大小如果是将元素个数减少底层空间总大小不变。  •reserve(size_t res_arg0):为string 预留空间不改变有效元素个数当reserve的参数小于底层空间总的大小时reserve 不会改变容量的大小。 2.5 string类对象的访问及遍历操作 函数名称功能说明operator[]返回pos位置的字符begin返回一个指向字符串第一个字符的迭代器。end返回一个指向字符串末尾后的字符的迭代器。rbegin返回一个指向字符串最后一个字符的反向迭代器即它的反向开头。rend返回一个反向迭代器指向字符串第一个字符前面的理论元素被认为是字符串的反向结束。范围forfor的新型遍历方式 2.6 string类对象的修改操作 函数名称功能说明push_back在字符串后尾插字符cappend在字符串后追加一个字符串operator在字符串后追加字符串strc_str返回c格式字符串findnpos从字符串pos位置开始往后找字符c返回该字符在字符串中的位置rfind从后向前查找字符csubstr在str中从pos位置开始截取n个字符然后将其返回 ❗️注意  •在string尾部追加字符时s.push_back /s.append/s.c’三种的实现方式差不多一般情况下string 类的操作用的比较多操作不仅可以连接单个字符还可以连接字符串。  •对string操作时如果能够大概预估到放多少字符可以先通过reserve把空间预留。 2.7 string类非成员函数 函数名称功能说明operator连接字符串尽量少用因为传值返回导致深拷贝效率降低operator输入运算符重载operator输出运算符重载getline获取一行字符串relational operators大小比较
http://www.hkea.cn/news/14282216/

相关文章:

  • 网站首页设计报告上海城乡建设部网站
  • 安徽智能网站建设哪里有id 连续 wordpress
  • 宜昌市住房和城乡建设局网站天河区门户网站官网
  • 网站源码在线提取成都网站运营公司
  • 网站建设用什么工具网站页眉设计
  • 从化网站设计网站建设一定要备案吗
  • 北海建设厅网站wordpress4.9中文版
  • 成都网站建设 Vr功能 卓 公司wordpress性能优化插件
  • 海南省住房和城乡建设厅网站首页营销网络和网络营销的区别
  • 佛山网站建设外贸做音乐网站需要版权么
  • 网站制作技术人员东莞百度推广优化公司
  • 墙绘网站建设企业网站 建设公司
  • python网站开发优缺点北京婚恋网站哪家最好
  • 网站做词东莞购物网站
  • 怎么做律所的官方网站天津智能网站建设哪里有
  • 中企动力网站icp备案通知专业个人网站
  • 佘山网站建设深圳公司注册地址异常怎么办
  • 长春做网站qianceyun会议网站开发
  • 备案 网站校园网站建设 必要性分析
  • 品牌大全网站源码网站开发小公司推荐
  • 中国icp备案网站安徽建设工程建设信息网站
  • 200m网站空间多少钱用户体验好网站
  • 小学门户网站建设seo网站页面优化包含
  • 个人主页静态网站手机网站开发开发
  • 网站管理cms美美淘-专做女鞋拿货选款网站
  • 做个企业网网站怎么做软件开发工具包简称
  • 兴安盟老区建设促进会网站网站开发项目计划书
  • 濮阳网站公司腾讯免费企业邮箱注册
  • 手机模板网站模板下载网站有哪些网站建设维护书
  • 网站推广计划书怎么写私域流量运营管理