第3章 标准库类型

空白字符的处理
string类型的输入操作符:读取并忽略有效字符(非空白字符)之前所有的空白字符,然后读取字符直至再次遇到空白字符,读取终止(该空白字符仍留在输入流中)。读前丢弃空白字符。
getline函数:不忽略行开头的空白字符,读取字符直至遇到换行符,读取终止并丢弃换行符(换行符从输入流中去掉但并不存储在string对象中)。读后丢弃换行符。

size_type类型:unsigned类型,属于与机器无关的配套类型。由string类类型和vector类类型定义。
difference_type:由vector类型定义的signed类型,用于存储任意两个迭代器间的距离。
size_t:机器相关的无符号整型,在cstddef头文件中定义。

string对象和字符串字面值混合连接操作时,+操作符的左右操作数必须至少有一个是string类型。

vector不是一种数据类型,而只是一个类模板,可用来定义任意多种数据类型。vector类型的每一种都指定了其保存元素的类型。如vector<int>和vector<string>都是数据类型。

C++程序员习惯于优先选用!=而不是<来编写循环判断条件。

必须是已存在的元素才能用下标操作符进行索引。通过下标操作进行赋值时,不会添加任何元素。

由end操作返回的迭代器并不指向vector中任何实际的元素,相反,它只是起一个哨兵(sentinel)的作用,表示我们已经处理完vector中所有元素。因此不能对end进行解引用或自增操作。

const迭代器和const_iterator
const迭代器是迭代器常量,该迭代器本身的值不能修改,即该迭代器在定义时需要初始化,而且初始化之后,不能再指向其他元素。若需要指向固定元素的迭代器,则可以使用const迭代器。
const_iterator是一种迭代器类型,对这种类型的迭代器解引用会得到一个指向const对象的引用,即通过这种迭代器访问到的对象是常量。该对象不能修改,因此,const_iterator类型只能用于读取容器内的元素,不能修改元素的值。若只需遍历容器中的元素而无需修改它们,则可以使用const_iterator。

两个迭代器相加的操作是未定义的,有相减的操作。

bitset对象的定义
bitset<32> bitvec; //32 bits, all zero
给出的长度值必须是常量表达式。
用unsigned值初始化bitset对象,unsigned long值将转化为二进制的位模式。
用string对象初始化bitset对象,string对象直接表示为位模式。
string对象和bitset对象之间是反向转化的:string对象的最右边字符(即下标最大的那个字符)用来初始化bitset对象的低阶位(即下标为0的位)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值