C++ primer 标准库类型

通过::引用标准库的名字十分麻烦,使用using可以在不需要加前缀namespace_name ::的情况下访问命名空间中的名字
using namespace::name ;

c++中,单引号是字符,char,双引号是字符串,string

标准库string 类型
#include< string >
using std::string;

cin>>s
string类型的输入操作符读取并忽略开头的所有空白字符,读取字符直到再次遇到空白字符,读取终止
while (cin>>word) 读取未知数目的string对象
一般碰到文件结束标记(EOF )会结束循环,从键盘键入EOF是使用crtl+z

string对象的操作
s.empty() 如果s为空串,返回true,否则返回false
s.size() 返回s中字符的个数
s[n] 返回s中位置为n的字符,位置从0开始
s1+s2 把s1和s2连接成一个新字符,返回新生成的字符串

string::size_type 字符串长度,接受size函数的返回值

vector 是同一种类型的对象的集合,叫做容器
一个容器中所有对象都必须是同一种类型的
使用容器之前必须包含相应的头文件
#include< vector >
using std::vector
下标操作不添加元素,仅能对已知元素进行操作
向vector添加元素 push_back

c++程序员习惯于优先于使用 != 而不是 < 来编写循环判断条件
必须是已经存在的元素,才可以用下标操作符进行索引,通过下标操作进行赋值时,并不会添加任何元素

除了使用下标来访问vector对象的元素外,还可以使用迭代器
迭代器是检查容器内元素并遍历元素的数据类型
容器的itearator 类型
vector< int >::iterator iter;
变量iter是vector< int >定义的iteator类型
vector对象的size
成员函数size返回相应vector类定义的size_type的值
vector< int > :: size_type;
各容器都定义了自己的iterator类型用于访问容器内的元素
vector< int >:: iterator iter = ivec.begin(); 将容器ivec的第一个元素返回给迭代器iter
v.push_back(i) 在v的末尾加一个值为 i 的元素
每种容器都定义了begin和end函数
如果容器内有元素的话,begin返回第一个元素
end返回末端元素的下一个,即超出末端迭代器
end操作返回迭代器并不指向vector中任何的元素,只是一个哨兵的作用,表示我们处理完vector中所有的元素
迭代器类型可以使用解引用操作符(*)来访问迭代器所指向的元素 *iter=0
迭代器使用自增操作符向前移动迭代器指向容器的下一个元素 ++iter
用 == 或者 != 操作符来比较两个迭代器,如果两个迭代器对象指向同一个元素,则相等

迭代器的算数操作符
iter + n
iter - n
iter1 - iter2

vector< string >::const_iterator;
常量,不可改变,只可以读取迭代器的内容
任何改变vector长度的操作都会使已存在的迭代器失效

标准库bitset,位集处理
#include < bitset>
using std::bitset;
bitset类是一种类模板,和vector不同的是bitset类型对象区别在长度而不是类型
bitset < n >;
当使用unsigned long值为bitset对象的初始值时,该值转化为二进制的位模式。如果bitset类的长度大于unsigned long 则其余高阶位置为零,如果小于,则只使用unsigned long 的低阶位。
当使用 string 对象初始化bitset时,string对象和bitsets对象之间是反向转化的,string对象的最右边初始化bitset的最左边
这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值