C++细节2

本文深入探讨了C++标准库中的string、vector和bitset类的高级特性,包括string的输入操作符、getline函数、size_type类型及下标操作注意事项,bitset的初始化方式和特性,以及迭代器与下标的区别。了解这些概念有助于提高C++程序的性能和效率。

在C++标准库中定义了内容丰富的抽象数据类型:string和vector,以及bitset。

string类型输入操作符

1、读取并忽略开头所有的空白操作符(空白,换行,制表符)

2、读取字符直到再次遇到空白字符

getline(std::cin, string)函数将istream作为返回值,string类型不含换行符。

任何***.size()的返回类型都为***::size_type类型(与机器无关),不能将size的返回值赋给int型变量,下标最好也使用::size_type。


所有的标准库容器都支持迭代器(iterator),只有少数部分的容器支持下标操作。


区别const ***iterator和***const_iterator。

前者迭代器不能改变,迭代器所指向的值能改变;后者迭代器能改变,迭代器指向的数值不能改变。


bitset

存储二进制位的有序集,每个位置可能包含0或1,头文件<bitset>。不是标准模板库。

必须初始化个数

1、用unsigned值初始化,将值转为二进制的位模式。bitset对象中的位集作为其副本。若bitset的长度大于unsigned long 值的二进制位数时,其余的高阶位置为0,;若小于~,则只使用其低阶位。

2、string对象初始化时,string对象直接表示为位模式。顺序从右向左。

3、返回类型和下标操作为size_t。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值