C++ Primer 笔记(第21回---第25回)

第二十一回

vector 是一个动态数组,下图中,红线框住的部分叫做类模板,< >里的 int 就叫做模板参数,

 

注意:vector 和 string 一样,都有自己的数据类型(下图)

注意,下面这个图中,vector ivec 一开始是空的,是没有下标的,而操作下标的前提是必须有下标存在才可以操作下标,现在呢,一开始的时候向量 ivec是空的,下标是不存在的,所以不能通过循环操作ivec向量的下标

所有容器都有迭代器,但有的容器没有下标操作,所有推荐使用迭代器!

如果不通过迭代器修改数据,只是用迭代器读数据,我们就可以使用常迭代器(下图所示),

第二十四回

八进制: 逢8进1,10进制的权值是10^0,  10^1,  10^2  ......     8进制的权值是  8^0,   8^1,   8^2......   

n 进制数  转   10进制数

对于 用n 进制表示的数,用该数的每一位  乘以  对应位的权值,得到的就是该数对应的   10进制   数

十六进制和二进制之间完美的转换关系:  

第二十四回

bitset类型是专门用来处理二进制数的, 图1中,a 是一个bitset类型,里面可以放32个二进制位

也可以把字符串放到 bitset 类型中去,如下图所示,其中, f(str,5,4)表示将 str这个字符串中的  从第5位开始的  4个字符  放到f 这个bitset类型的对象中,所谓的从第5位开始,是指,对str这个字符串从右边开始数,从末尾没有显示出来的结束标记符 \0  开始数,从0开始数到5,依次是 /0   1   0   1   1  然后把前面的4位   1100拿出来放到 f 中

下图是指用 字符串  str  的最后 4 位来初始化bitset类型对象g,得到的就是1101

可以用下标来对bitset对象的每一位进行操作(如下图所示),下图中将第5位变成了1,注意,第5位是从右边开始,从最后的 一位开始(不是从 \0开始),从0开始数到5

位异或:相同为0,不同为1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值