如果我得到了restrict正确的C99 关键字,那么用它来限定一个指针是一个承诺,它引用的数据不会在编译器的后面通过别名修改.
相比之下,我理解const限定符的方式是编译器强制执行的文档,即在人类编写代码的背后不会修改给定对象.编译器可能会得到一个提示作为副作用,但作为程序员,我并不在乎.
以类似的方式,将restrict函数原型中的限定符视为要求用户在调用期间确保独占访问("避免别名"或可能更强的东西)是否合适?它应该用作"文件"吗?
此外,是否有一些事情可以理解,restrict它指向一个指针而不是它指向的数据(如同const)?
编辑:我原本认为这restrict可能会影响线程代码,但这似乎是错误的,所以我从问题中删除对线程的引用,以避免混淆读者.