除了基本数据类型之外,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 Plus 第六版 中文版课后编程习题解答》是学习C++编程语言的重要参考资料,它为读者提供了全面的习题解析,帮助深入理解和掌握C++的核心概念和技术。C++ Primer Plus是一本经典的C++入门教程,第六版在...
以上是C++ Primer第四版学习笔记中涉及的一些核心知识点。这些知识点涵盖了C++编程的基础语法、数据类型、容器、指针、内存管理以及控制结构等多个方面,对于初学者理解和掌握C++语言具有重要意义。希望这些内容能够...
《C++ Primer 第4版》是一本经典的C++编程教程,由Lippman、Lajoie和 Moo三位作者共同撰写。这本教材深入浅出地介绍了C++语言的基础概念、语法以及高级特性,适合初学者和有一定经验的程序员作为参考。下面将详细...
《C++ Primer 学习笔记》是一份针对C++初学者的重要参考资料,它基于C++ Primer第三版的内容,旨在帮助读者深入理解C++这门强大的编程语言。C++ Primer是学习C++的经典书籍,以其全面、深入且易于理解的讲解闻名,这...
在C++ Primer Plus这本书的第二章中,我们深入学习了C++的基础知识,包括变量、数据类型、运算符以及基本的输入输出操作。本章节的课后习题旨在巩固这些概念,通过实践来提高理解力和应用能力。下面将详细讨论2.7...
C++ Primer第四版的笔记涵盖了从基础语法到对象导向编程,再到模板和STL(Standard Template Library)等核心内容。根据描述,作者已经看到了第12章,这意味着笔记至少包含了以下主要知识点: 1. **基本语法**:...
《C++ Primer 第四版学习笔记》是一份深入学习C++编程语言的宝贵资源,它由一位经验丰富的学习者在2014年整理而成,旨在帮助初学者更有效地掌握C++的基础和进阶概念。这份笔记以清晰、实用的方式阐述了C++ Primer第...
第三章涉及注释,笔记建议在多行注释中清晰地标记每一行的内容,以提高代码的可读性。第四章介绍了控制结构,包括循环和条件判断,指出编译器能检测的三种常见错误:语法错误、类型错误和声明错误。笔记中还提到了一...
本篇学习笔记主要涵盖了前三章的内容,重点关注STL(Standard Template Library,标准模板库)中的容器、特别是vector的使用,以及迭代器的概念。接下来我们将详细探讨这些知识点。 首先,STL是一个强大的工具集,...
C++ Primer 是一本经典的C++入门书籍,其第四版提供了全面且深入的C++语言学习指南。笔记主要涵盖了基础和一些较为复杂的知识点,旨在帮助读者理解并掌握C++的核心概念。 1. **预处理器指令**: - `#pragma once` ...
### C++ Primer 类型转化 #### 一、类型转换概述 在C++中,类型转换是一种常见的编程技术,用于将一种数据类型转换为另一种数据类型。这种转换可以在编译时或运行时发生,并且可以是隐式的(自动进行)或显式的...
### 《C++ Primer》学习笔记(27)顺序容器 #### 9.1 顺序容器概述 在C++中,顺序容器是一类用于存储数据的容器,其中元素的位置依赖于其添加到容器中的顺序。这与关联容器形成了对比,关联容器中的元素位置是由其...
第三,"C++ Primer 第四版》笔记与勘误.doc"这个文件很可能是一位读者在阅读过程中所做的个人笔记和发现的勘误。除了勘误,还可能包含了读者对某些概念的理解、代码实现的个人见解,甚至可能有对原书内容的补充,...