我目前正在学习 bitset,在一段中它谈到了它们与字符串的交互:
“字符串和位集的编号约定是反向相关的:字符串中最右边的字符 - 具有最高下标的字符 - 用于初始化位集中的低位 - 下标为 0 的位。”
但是后来他们给出了一个示例+图表,显示如下:
string str("1111111000000011001101");
bitset<32> bitvec5(str, 5, 4); // 4 bits starting at str[5], 1100
的值str
:
1 1 1 1 1 (1 1 0 0) 0 0 0 ...
的值bitvec5
:
...0 0 0 0 0 0 0 (1 1 0 0)
此示例显示它获取最右边的位并将其放置,因此字符串中的最后一个元素是位集中的最后一个元素,而不是第一个。
哪个是对的?(或者都是错的?)