首页 > 编程语言 >C++学习笔记Day2

C++学习笔记Day2

时间:2023-10-20 20:34:03浏览次数:26  
标签:std 字符 string 对象 Day2 笔记 C++ size

关于String对象的一些事

1.string对象来源于C++标准库<string>,表示一种可变长的字符序列,定义在命名空间std之中。

2.string对象无初始值默认为空字符串。

3.若是使用等号对string变量进行初始化,属于拷贝初始化,不使用等号,如string s6("hiya"); string s7{"11123"}; string s8(10,"c");等,则属于直接初始化。

4.在C++中,可以这样的方法while(std::cin >> s),原理是:括号内的表达式在读取到空格或换行时,会结束一次循环。

5.可以使用getline函数,参数是一个输入流和string对象,如getline(std::cin,s),一旦读取到换行符,才算一次结束。

6.每个string对象都有empty()和size()函数,前者在对象为空时会返回1,后者会返回对象的长度。注:size()返回值类型属于string::size_type类型,不得与int类型变量在同一个表达式中使用。

7.string对象间比较规则:(1)部分相同比长度(2)遇到不同比第一个相异字符,若谁的第一个相异字符对应的ASCII码更大,谁就更大。

8.string对象可以和字符串字面值相加,如string s = "o" + s1;,但是string s = "p" + "q";,则是非法的,因为两个字面值无法相加,这是由于C++为了兼容C语言而背上的历史包袱,导致字面值并非属于string类型,而是char[]类型。

9.由于string对象属于一个字符序列,使得它可以被用于C++11标准中规定的一种新的for语句:范围for语句,其形式是for(declaration : expression) expressions; ,使用如此办法可以遍历序列中的每一个元素。若是想改变string中的每一个字符,可以在范围for语句中声明string元素的引用,然后在循环体中用引用来修改元素。

10.s[0]返回的是s对象的第一个元素的引用。

标签:std,字符,string,对象,Day2,笔记,C++,size
From: https://www.cnblogs.com/MiceWorld/p/17777950.html

相关文章

  • uboot定制自己的板子--Apple的学习笔记
    一,前言既然下载了最新的uboot版本,那么就玩玩吧,先要定制自己的板子。二,问题分析及解决1,出错信息U-BootSPL2023.10(Oct192023-19:58:50+0800)TryingtobootfromMMC1U-Boot2023.10(Oct192023-19:58:50+0800)AppleCai'sam335BoardCPU:AM335X-GPrev2.1......
  • 栈实现算术优先级运算c++
    #include<stdlib.h>#include<stdio.h>#include<iostream>usingnamespacestd;#defineSTACK_INIT_SIZE100//栈初始开辟空间大小#defineSTACK_INCREMENT10//栈追加空间大小//优先级数组,2表示top>c,1表示top<c,0表示top=c,-1表示错误intprior[7][7]={{2,2,......
  • 【比赛笔记】CSP-S 2023
    授权码MD5:71f9eea8b22d84fca61763855842d32f游记Day0-比赛前夕来摘抄一段学长给的注意事项。然后评价一下...freopen//万事开头`freopen`,一定写`freopen`编译环境(-O2,-std=c++14)//命令行编译,注意编译信息g++a.cpp-oa-O2-std=c++14//重温编译命令stl......
  • 信息安全系统设计与实现——学习笔记6
    任务详情:自学教材第11章,提交学习笔记Part1知识点归纳&GPT提问知识点归纳多任务处理定义:在计算机技术中,多任务处理指的是同时执行几个独立的任务。在单处理器(单CPU)系统中,一次只能执行一个任务。多任务处理是通过在不同任务之间多路复用CPU的执行时间来实现的,即将CPU执行操作......
  • C++ Primer 中文版(第 5 版)pdf电子版 C++ Primer, 5th Edition
    C++Primer中文版(第5版)pdf电子版C++Primer,5thEdition作者:[美]StanleyB.Lippman/[美]JoséeLajoie/[美]BarbaraE.Moo原作名:C++Primer,5thEdition......
  • 大话设计模式之策略模式笔记
    策略模式结构classDiagramclassContext{-Statagestatage+ContextIntegace(Statagestatage)}classStratage{<<abstract>>+algorithmInterface()}classConcreateStratage1{}classConcre......
  • 大话设计模式之简单工厂模式笔记
    简单工厂模式以实现加、减、乘、除的计算器功能为例初级代码:输入数字交互界面@SuppressWarnings("resource")publicstaticvoidmain(String[]args){System.out.println("**********************************************");System.out.println("......
  • C++类型转换
    C++类型转换1.const_castconst_cast可以将const转换成非const,也可以将非const转换成const。需要注意的是const_cast只能用于改变指针或者引用的底层const。底层const和顶层const首先要弄清楚const修饰的到底是谁,用顶层表示指针本身是个常量(指针常量),底层表示指针所指向的对......
  • 算法学习笔记(31): 李超线段树
    李超线段树是一种按照值域维护一次函数最值的数据结构,其核心在于一次函数和值域的双单调性。如果预先对于值域离散也可以维护其最值。也就是说只要满足时一次函数,以及下标的单调性都可以利用李超线段树维护。李超线段树就是利用线段树来维护一次函数的最值,每一个结点对应了一......
  • ansible学习笔记
    ansible目录ansible安装1.配置1.1Inventory(主机清单)1.2ansible.cfg2.模块2.1yum模块2.2copy模块2.3get_url模块2.4fetch模块2.5file模块2.6service模块2.7group模块2.8user模块2.9cron模块2.10mount模块2.11firewalld模块2.12command/shell/raw模块2.13script......