【c ++ primer 笔记】第3章 字符串、向量和数组 您所在的位置:网站首页 错误俩字 【c ++ primer 笔记】第3章 字符串、向量和数组

【c ++ primer 笔记】第3章 字符串、向量和数组

2024-07-02 19:28| 来源: 网络整理| 查看: 265

🍇第3章 字符串、向量和数组

String、vector是俩种最重要的标准库类型,String支持可变长字符串,vector支持可变长的集合

迭代器是一种与 string 和 vector 配套的标准库类型。常用于访问string中的字符或vector中的元素

内置数组是一种基础的类型,string和vector都是对它的某种抽象。

🍌3.1 命名空间的 using 声明 使用某个命名空间:例如 using std::cin表示使用命名空间std中的名字cin。 头文件中不应该包含using声明。这样使用了该头文件的源码也会使用这个声明,对于某些程序来说,可能会名字冲突,带来风险。 using std::cin; 🍌3.2 标准库类型string 标准库类型string表示可变长的字符序列。 string定义在命名空间std中。(包含头文件) string对象:不同于字符串字面值。 #include using std::string 🍑3.2.1 定义和初始化string对象

string 默认初始化是一个空字符串初始化string对象的方式:

初始化方式 解释 string s1 默认初始化,s1 是个空字符串 string s2(s1) s2 是 s1 的副本 string s2 = s1 等价于 s2( s1 ),s2 是 s1 的副本 string s3("value") s3 是字面值 “value” 的副本,除了字面值最后的那个空字符外 string s3 = "value" 等价于 s3("value"),s3 是字面值 "value" 的副本 string s4(n, 'c') 把 s4 初始化为由连续 n 个字符 c 组成的串

注意:

在进行拷贝操作时,是不包含最后一个空字符串的 使用字符串字面值或字符数组初始化 string 对象时,string 对象中是不包含末尾的空字符的,它会将字符数组中末尾的空字符去掉。

初始化方式

拷贝初始化 直接初始化 列表初始化 string s5 = "hello"; //拷贝初始化 string s6("hello"); //直接初始化 string s7{hello}; //列表初始化 🍑3.2.2 string对象上的操作

string 常用操作

string 常用操作 getline(is, s) 从is中读取一行赋给s,返回is (is 是输入流) s.empty() s 为空返回true,否则返回false s.size() 返回 s 中字符的个数 s[n] 返回 s 中第 n 个字符的引用,位置 n 从0计起 s1+s2 返回 s1 和 s2 连接后的结果 s1=s2 用 s2 的副本代替 s1 中原来的字符 s1==s2 如果 s1 和 s2 中所含的字符完全一样,则它们相等;string对象的相等性判断对字母的大小写敏感 s1!=s2 同上 = 利用字符在字典中的顺序进行比较,且对字母的大小写敏感(对第一个不相同的位置进行比较)

注意:

通过cin >> string,在读取string对象时,string对象会自动忽略开头的空白(空格、换行符、等)并从第一个真正的字符串开始读,知道遇见下一个空白为止,因此不能使用 cin 读取句子,但是可以读取单词; 字符串字面值与 string 是两种不同的类型 string s; cin >> s; //输入hello world cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有