// 判断size是否是2的幂,考虑到size可能小于2,这个时候size & (size - 1)就失效了 constexpr bool IsPowOfTwo(size_t size) { return ((size < 2) || (size & (size - 1))) ? false : true; } // 取余操作,其中size要求为2的幂 remain &= (size -1)
https://github.com/rezabrizi/SPMC-Queue/tree/main/src