1. restrict
restrict 是应用在函数参数中的关键字,使用方式如下图,形式为 __restrict__。restrict 表示的含义是传入该函数的实参内存一定不会有重叠。
例如 memcpy() 和 memmove() 函数,可以发现 memmove() 函数参数中不存在 __restrict__,说明该函数允许实参内存重叠,但 memcpy()函数存在该关键字,说明不允许实参内存重叠。当函数参数数量为 1 时,不需要考虑此关键字,一个参数不存在内存重叠问题。
restrict 是应用在函数参数中的关键字,使用方式如下图,形式为 __restrict__。restrict 表示的含义是传入该函数的实参内存一定不会有重叠。
例如 memcpy() 和 memmove() 函数,可以发现 memmove() 函数参数中不存在 __restrict__,说明该函数允许实参内存重叠,但 memcpy()函数存在该关键字,说明不允许实参内存重叠。当函数参数数量为 1 时,不需要考虑此关键字,一个参数不存在内存重叠问题。