Tag: keyword

人类可以通过限制限定符做出什么?

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