第二十一回
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