笔记2 (标准库类型string、vector和bitset)
来源:互联网 发布:指南针淘宝店是正品吗 编辑:程序博客网 时间:2024/05/16 08:38
抽象数据类型(abstract data type)
通常,头文件中应该只定义确定必要的东西
标准库string 类型
#include<string>
using std::string;
string的定义和初始化
string类型的输入操作符:
string s;
cin>>s;
读取并忽略开关所有的空白字符(如空格、换行符,制表符);
读取字符直到再次遇到空白字符,读取终止。
string的输入操作符会返回所给的数据流,因此,可以把输入当作判断条件。
用getline读取整行文本
getline接受两个参数:一个输入流对象和一个string对象。
getline并不忽略行开关的换行符。
string类型的输入操作符和getline函数分别如何处理空白字符:
1、string类型的输入操作符对空白操作符的处理:读取并忽略有效字符(非空白字符)之前所有的空白字符,然后读取字符直到再次遇到空白字符,读取终止(该空白字符仍然在输入流中)。
2、getline函数对空白字符的处理:不忽略开关的空白字符,读取字符直到遇到换行符,读取终止并丢弃换行符(换行符从输入流中去掉但并不存储在string对象中)。
string对象的操作:
s.empty();
s.size();
s[n];
s1 + s2;
s1 = s2;
string对象和字符串字面值混合连接操作时,+操作符的左右操作数必须至少有一个string类型的。
string类型可通过下标操作符([ ])访问string对象的某个字符。
string对象中字符的处理
#include<cctype>
标准库vector类型
一个容器中的所有对象都必须是同一个类型的。
#include<vector>
using std::vector;
vector是一个类模板(class template)。
vector对象(以及其他标准库容器对象)的重要属性就在于可以在运行高效地添加元素,因为vector增长的效率高,在元素什己知的情况下,最好是动态地添加元素。
vector对象的操作
v.empty();
v.size();
v.push_back(t);
v1 = v2;
v1 == v2;
迭代器简介
迭代器(iterator)所存的标准库容器都定义了相关的迭代器类型。
若一种类型支持一组确定的操作,(这些操作可用来遍历容器内的元素,并访问这些元素的值),我们就称这种类型为迭代器。
begin和end操作
由begin返回的迭代器指向第一个元素;
由end操作返回的迭代器指向vector的“末端元素的下一个”。通常称之为超出末端迭代器(off-the-end iterator)。
const_iterator
该类型只能用于读取容器内元素,但不能更改其值,迭代器本身可以改变。
对const_iterator解引用时,可以得到一个指向const对象的引用。
const_iterator与const iterator不相同,后者基本没用。
迭代器的自述操作:
iter±n 可用迭代器加上或减去一个整型值
iter1 – iter2 计算两个迭代器对象的距离,该距离是名为defference_type的signed(只是数值类型,不代表两类型完全相同)类型的值,iter1与iter2两者必须都指向同一vector的元素或末端之后的下一个元素。
两个迭代器相加的操作是末定义的。
标准库bitset类型
#include<bitset>
using std::vector;
bitset类型对象的区别在公在其长度而不在其基类型。
bitset<n> b;
bitset<n> b(s); //b是string对象s中含有的位串的副本
当用string对象初始化bitset对象时,string对象直接表示为位模式
- 笔记2 (标准库类型string、vector和bitset)
- C++ Primer学习笔记2--c++标准库中的 vector、string 和 bitset 类型
- 第三章:标准库类型:string、 vector 和 bitset类型
- 标准库类型(vector 、string、 bitset类型)
- 标准库类型:string vector bitset
- 标准库类型--string,vector,bitset
- 第三章 标准库类型(string 、vector、 bitset)
- C++:标准库类型(string、vector、list、bitset)
- 《c++ primer》学习笔记 第三章 标准库类型(string, vector,bitset)
- 第三章 标准库string、vector、bitset类型 —— 第三节 bitset类
- 标准库vector容器和bitset容器类型
- 第三章 标准库string、vector、bitset类型 —— 第一节 标准库string类
- C++学习笔记--标准库类型(vector,iterator,bitset)(一)
- C++学习笔记--标准库类型(vector,iterator,bitset)(二)
- C++学习笔记--标准库类型(vector,iterator,bitset)(三)
- 第三章 标准库string、vector、bitset类型 —— 第二节 vector类及其迭代器
- 标准库类型(string,getline,vector)
- CUJ:标准库:bitset和bit vector
- 二分查找bsearch.c源码分析
- A+B for Input-Output Practice (VII)
- ios 获取当前时间
- C++与C语言对照学习(设计模式)
- VB查询数据库之结账——机房收费系统总结(五)
- 笔记2 (标准库类型string、vector和bitset)
- 第十四周 数组
- 依赖注入框架Autofac的简单使用
- cocos2d-x重力感应
- 如何在word2013(2007、2010)中添加带滚动条的文本框
- Django ModelForm的使用
- const int *pi 与int *const pi区别 (void*)
- HBase安装步骤_伪分布式模式
- 外设位宽为8、16、32时,CPU与外设之间地址线的连接方法