restrict关键字在C ++中的含义是什么?我总是不确定,在C ++中,restrict关键字是什么意思?是否意味着赋予函数的两个或更多指针不重叠?还有什么意思?
3 回答
慕容3067478
TA贡献1773条经验 获得超3个赞
虽然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; }
- 3 回答
- 0 关注
- 1279 浏览
添加回答
举报
0/150
提交
取消