虽然restrict它还不是C ++标准的一部分,但它得到了许多编译器的支持,他建议在可用时使用它:限制关键字!1999年ANSI / ISO C标准的新成员!尚未使用C ++标准,但许多C ++编译器都支持它!只有提示,所以可能什么都不做,仍然符合要求限制合格的指针(或参考)......!...基本上是对编译器的承诺,对于指针的范围,指针的目标只能通过该指针(以及从中复制的指针)访问。g ++似乎也支持这个,因为下面的程序在g ++上完全编译:#include <stdio.h> int foo(int * __restrict__ a, int * __restrict__ b) { return *a + *b; } int main(void) {
int a = 1, b = 1, c; c = foo(&a, &b); printf("c == %d\n", c); return 0; }