除了基本数据类型之外,C++还定义了一个内容丰富的抽象数据类型标准库。其中最重要的标准库类型是string和vector。他们分别定义了大小可变的字符串和集合。
string和vector 往往将迭代器用作配套类型(companion type),用于访问string中的字符串或者vector中的元素。
C++还定义了许多更高级的抽象数据类型。
3.1命名空间的using 声明
3.2标准库 string类型
3.2.1 string对象的ing一盒初始化
几种初始化string对象的方式
string s1; //默认构造函数,s1为空串
string s2(s1);
string s3("value");
string s4(n,'c');
3.2.2string对象的读写
string s1;
cin>>s;
读取并忽略开头所有的空白字符(如 空格,换行符,制表符);
读取字符直到再次遇到空白字符,读取终止。
如果输入的是“Hello world” ,则是s1中包含的是“hello” 而不包含空格。
读入位置数目的string对象
int main()
{
string word;
while(cin>>word)
cout<<word<<endl;
return 0;
}
2.用getline可以读取整行文本
getline 函数从输入流的下一行读取,并保存读取的内容到string中,但不包括换行符。
和输入操作符不一样的是,getline并不忽略开头的换行符。只要getline遇到换行符,即便它是输入的第一个换行符,getline也将停止读入并返回。如果第一个字符就是换行符,则string参数被置为空string;
3.2.3 string的对象操作
1.string的size 和empty操作
string st("The expense of spirit\n");
cout<<"the size of "<<st<<"is"<<st.size()
<<"charactors,including the newline"<<endl;
2.string::size_type 类型
从逻辑上来看,size()成员函数似乎应该返回整型数值,但事实上,size操作返回的是string::size_type类型的值。(这里,我在以前应用的时候从来没有注意过,这个一定要好好记住。)
注意:任何存储string的size操作结果的变量必须为string::size_type类型。特别重要的是,不要把size的返回值赋给一个int变量。
3.string 关系操作符
4.string对象的赋值
5.两个string对象相加
6.和字符串字面值的连接
7.从string 对象获取字符
可以用下标操作符分别取出string对象的每个字符,分行输出:
string st("some string");
for( string::size_type ix=0;ix!=str,size();++ix)
cout<<str[ix]<<endl;
8.下标操作符可以用作左值
str[ix]="*";
9.计算下标值
3.2.4 string操作中的字符处理
分享到:
相关推荐
C++Primer中文第三版(C++从入门到精通)第一章的读书笔记,主要是C++程序、预处理器指示符、iostream库等的基础知识点读书笔记。
在C++编程语言中,重载操作符与转换是两个重要的概念,它们允许程序员自定义基本操作符的...通过阅读《C++ Primer》第四版第十四章的思维导图笔记,你可以深入学习这些概念,巩固理论知识,并在实际编程中应用它们。
《C++ Primer Plus 第六版中文版》的学习笔记聚焦于第七章,主要讲解了C++中的函数,包括函数的分类、无返回值和有返回值的函数、返回值的类型限制、函数原型的重要性和作用,以及ANSI C与C++在函数原型上的差异。...
C++ Primer Plus第6版第九章讨论了如何管理和编译多个源文件和头文件,下面是对这一主题的详细解释。 首先,C++提供了多种存储类型来控制数据在内存中的生命周期和访问权限。存储持续性决定了变量或对象的生命周期...
第三章“数据处理”是关于基本数据类型的介绍。C++中的简单变量包括整型、字符型等,这些是构建程序的基础元素。const限定符用于声明常量,使得变量的值在程序执行期间不可修改,这是C++中重要的封装和安全性工具。...
以上是C++ Primer第四版学习笔记中涉及的一些核心知识点。这些知识点涵盖了C++编程的基础语法、数据类型、容器、指针、内存管理以及控制结构等多个方面,对于初学者理解和掌握C++语言具有重要意义。希望这些内容能够...
《C++ Primer 第4版》是一本经典的C++编程教程,由Lippman、Lajoie和 Moo三位作者共同撰写。这本教材深入浅出地介绍了C++语言的基础概念、语法以及高级特性,适合初学者和有一定经验的程序员作为参考。下面将详细...
《C++ Primer中文版(第5版)》是学习C++编程语言的经典教材,它涵盖了C++的基础到高级概念,包括语法、数据类型、控制结构、函数、类、模板、对象、异常处理等多个方面。本笔记将围绕这些主题展开,旨在帮助读者...
《C++ Primer 学习笔记》是一份针对C++初学者的重要参考资料,它基于C++ Primer第三版的内容,旨在帮助读者深入理解C++这门强大的编程语言。C++ Primer是学习C++的经典书籍,以其全面、深入且易于理解的讲解闻名,这...
本笔记主要涵盖了第一章至第三章的主要知识点。 首先,每个C++程序至少包含一个main函数,它是程序的入口点,由操作系统直接调用。函数由一系列语句构成,其定义以花括号包围。注释在程序中起到解释作用,不会影响...
在C++ Primer Plus这本书的第二章中,我们深入学习了C++的基础知识,包括变量、数据类型、运算符以及基本的输入输出操作。本章节的课后习题旨在巩固这些概念,通过实践来提高理解力和应用能力。下面将详细讨论2.7...
C++ Primer第四版的笔记涵盖了从基础语法到对象导向编程,再到模板和STL(Standard Template Library)等核心内容。根据描述,作者已经看到了第12章,这意味着笔记至少包含了以下主要知识点: 1. **基本语法**:...
《C++ Primer 第四版学习笔记》是一份深入学习C++编程语言的宝贵资源,它由一位经验丰富的学习者在2014年整理而成,旨在帮助初学者更有效地掌握C++的基础和进阶概念。这份笔记以清晰、实用的方式阐述了C++ Primer第...
第三章涉及注释,笔记建议在多行注释中清晰地标记每一行的内容,以提高代码的可读性。第四章介绍了控制结构,包括循环和条件判断,指出编译器能检测的三种常见错误:语法错误、类型错误和声明错误。笔记中还提到了一...
# 基于C++的C++ Primer Plus第六版学习项目 ## 项目简介 本项目是《C++ Primer Plus(第6版)中文版》的学习仓库,包含原书代码和习题解答。项目旨在帮助读者系统地学习C++编程语言,通过实践代码和习题解答来加深...
本篇学习笔记主要涵盖了前三章的内容,重点关注STL(Standard Template Library,标准模板库)中的容器、特别是vector的使用,以及迭代器的概念。接下来我们将详细探讨这些知识点。 首先,STL是一个强大的工具集,...
C++ Primer 是一本经典的C++入门书籍,其第四版提供了全面且深入的C++语言学习指南。笔记主要涵盖了基础和一些较为复杂的知识点,旨在帮助读者理解并掌握C++的核心概念。 1. **预处理器指令**: - `#pragma once` ...
【C++ Primer(第四版)学习笔记】 C++ Primer 是一本经典的C++入门教材,第四版则更加注重现代C++的实践与应用。本学习笔记系列着重探讨那些易被忽视或容易导致误解的C++概念,适合已经具备一定C++基础的读者。 #...
### C++ Primer 类型转化 #### 一、类型转换概述 在C++中,类型转换是一种常见的编程技术,用于将一种数据类型转换为另一种数据类型。这种转换可以在编译时或运行时发生,并且可以是隐式的(自动进行)或显式的...
### 《C++ Primer》学习笔记(27)顺序容器 #### 9.1 顺序容器概述 在C++中,顺序容器是一类用于存储数据的容器,其中元素的位置依赖于其添加到容器中的顺序。这与关联容器形成了对比,关联容器中的元素位置是由其...