restrict关键字在C ++中的含义是什么?

restrict关键字在C ++中的含义是什么?

我总是不确定,在C ++中,restrict关键字是什么意思?

是否意味着赋予函数的两个或更多指针不重叠?还有什么意思?


慕莱坞森
浏览 1280回答 3
3回答

慕容3067478

虽然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; }

幕布斯6054654

没有。它被添加到C99标准中。
打开App,查看更多内容
随时随地看视频慕课网APP