一般我们会用一个循环来做
但是标准库作者却重复代码,看起来很麻烦,
但是麻烦的带来的好处是速度的提升:
我们在正常的完全循环中每进行一个字符的操作,就会进行一次循环条件的减法和判断
为了减少这些操作,就重复代码,以空间换时间,这是值得的,因为基础函数的使用频度太大了
那位什么重复次数是 4 呢?
首先为了使用高效的移位而不是除法,这个数字不能是奇数
4Bytes对应32bits,编译器一般还都是32bits的,但这个数字的选择好像与此无关
4在计算机内部真是个明星
当然这个数字不能太大,因为第二部分的循环会增多
也不能太小,否则第一部分的循环会增多
4就算是个折中