快速的4个字符的字符串比较

偶然看到的一个非常巧妙的算法:

#define COMPARE_4CHAR(p,a,b,c,d) \
( ( (*(int*)p) | 0x20202020) == (a | (b<<8) | (c<<16) | (d<<24))

很简短的一行宏定义代码,你能看出它的功能吗? Continue reading