1. unique_ptr
/// Return the stored pointer.
pointer
operator->() const noexcept
{
_GLIBCXX_DEBUG_PEDASSERT(get() != pointer());
return get();
}
2. Bit操作 和C++标准库BitSet
c++只能访问到byte,而访问不到bit
2.1. get bit
If you want the k-th bit of n, then do
(n & ( 1 << k )) >> k
不用直接操纵bit位,直接操纵byte就可以
假设char序列表示为
c
0
c
1
c
2
⋯
c
n
−
1
c_0c_1c_2\cdots c_{n-1}
c0c1c2⋯cn−1,将其看为bit序列
[
b
0
b
1
⋯
b
7
]
[
b
8
b
9
⋯
b
15
]
⋯
b
8
n
−
1
[b_0b_1\cdots b_7][b_8b_9\cdots b_{15}]\cdots b_{8n-1}
[b0b1⋯b7][b8b9⋯b15]⋯b8n−1
bit序列的第 k k k个元素和char序列的 [ m , n ] [m,n] [m,n]一一对应,其中 m m m表示序列的第 m m m个char, n n n表示该char的第 n n n个bit
3. c++可以表达任意位数的整数吗?
不能,但是可以使用char *
代替