restrict

    百度词典:vt.限制,限定;约束,束缚。然而,在C语言中,restrict表示什么意思呢?

    百度百科:restrict是c99标准引入的,它只可以用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式.即它告诉编译器,所有修改该指针所指向内存中内容的操作都必须通过该指针来修改,而不能通过其它途径(其它变量或指针)来修改。这样做的好处是,能帮助编译器进行更好的优化代,生成更有效率的汇编代码。如 int *restrict ptr,,ptr 指向的内存单元只能被 ptr 访问到,任何同样指向这个内存单元的其他指针都是未定义的,直白点就是无效指针。restrict 的出现是因为 C 语言本身固有的缺陷,C 程序员应当主动地规避这个缺陷,而编译器也会很配合地优化你的代码.



参考资料

[1]restrict_百度百科

[2]c语言中的restrict关键字

你可能感兴趣的:(restrict)