STL源码剖析笔记(1)

来源:互联网 发布:网络博客被骗了怎么办 编辑:程序博客网 时间:2024/06/05 04:09

page 61

enum { __ALIGN = 8 };

static size_t ROUND_UP(size_t bytes)

{

return ( ( (bytes)+__ALIGN-1) & ~(__ALIGN-1) );

}

此函数用来把bytes上调至8的倍数,以后多注意位运算的使用.

以前也碰到过判断一个数是否为2的幂的运算,也是利用位运算巧妙的作出判断.

return data & (data+1);