restrict限定指针,并表明指针是访问一个数据对象的唯一且初始的方式.
来源:互联网 发布:js 参数默认值 编辑:程序博客网 时间:2024/06/06 05:26
简介
restrict是c99引入的,它只可以用于限定指针,并表明指针是访问一个数据对象的唯一且初始的方式. 仅当第二个指针基于第一个时,才能对对象进行存取.例子
考虑下面的例子: int ar[10]; int * restrict restar=(int *)malloc(10*sizeof(int)); int *par=ar; 这里说明restar是访问由malloc()分配的内存的唯一且初始的方式。par就不是了。 那么: for(n=0;n<10;n++) { par[n]+=5; restar[n]+=5; ar[n]*=2; par[n]+=3; restar[n]+=3; } 因为restar是访问分配的内存的唯一且初始的方式,那么编译器可以将上述对restar的操作进行优化: restar[n]+=8; 而par并不是访问数组ar的唯一方式,因此并不能进行下面的优化: par[n]+=8; 因为在par[n]+=3前,ar[n]*=2进行了改变。使用了关键字restric,编译器就可以放心地进行优化了。 这个关键字据说来源于古老的FORTRAN。有兴趣的看看这个。- restrict限定指针,并表明指针是访问一个数据对象的唯一且初始的方式.
- restrict: 限定符只适用于对象指针类型,这是C99新增加的
- 指针的访问方式
- 指针对象的产生方式
- this是指向对象本身的一个指针
- 指针、引用、常量的初始
- 两层指针共用一个智能指针控制基本对象的操作--成员访问操作符
- 指针的问题5 指针访问数组的方式
- 删除(delete)空指针是安全的=>指针初始化为0或有效内存(new)
- 使用对象指针访问类的成员
- 指向对象的指针访问成员函数
- C++ const 限定符 指针的使用方法
- 关于const限定的字符指针
- 智能指针原理,并实现一个简单的智能指针
- [技术讨论]语言是没有限定的,唯一被限定的是程序员的大脑
- C语言的restrict类型限定符
- 指针是一个保存对象地址的变量,地址是一种数据类型
- 指针const对象的指针
- 创建第一个hibernate应用程序---- Hello world
- 北京苹果店正门logo熄灯悼念 果粉献花纪哀思
- 三星否认在澳大利亚与苹果接近达成和解协议
- iphone开发每日一练【2011-10-07】
- vb/vb.net开发精粹(3)
- restrict限定指针,并表明指针是访问一个数据对象的唯一且初始的方式.
- [android]webview访问jsp页面,能否从jsp页面获取数据
- 微软WP业务总裁:苹果iOS操作系统正在抄袭WP
- 苹果将发布新iPhone 邀请函引中国产业链躁动
- C99的restrict关键词
- 推荐三个 Steve Jobs 的 Chrome 主题
- 2013年社交网站广告营收达百亿美元
- Beep也疯狂,让你的主板也Happy起来吧
- 调查发现女人比男人更喜欢使用社交网站(组图)