第二十一回
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
本文深入探讨了C++中的vector容器使用,包括类模板、模板参数、迭代器的运用及bitset类型处理二进制数的方法。同时,解析了不同进制数之间的转换原理。

被折叠的 条评论
为什么被折叠?



