社区
C++ 语言
帖子详情
restrict 关键字复杂用法
IT_YUAN
2013-11-01 05:23:14
const unsigned char*restrict const*restrict const inpkts
这句话里边包含了这么多的restrict指针,有大神能详细说明每个的详细用法吗?
...全文
259
6
打赏
收藏
restrict 关键字复杂用法
const unsigned char*restrict const*restrict const inpkts 这句话里边包含了这么多的restrict指针,有大神能详细说明每个的详细用法吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
max_min_
2013-11-02
打赏
举报
回复
引用 5 楼 IT_YUAN 的回复:
这句代码是从开源软件zfec里边提取出来的,感觉好复杂
没必要,太繁琐了!知道 restrict的基本用法就好了!不过现在也没什么,几乎没见了都!
IT_YUAN
2013-11-01
打赏
举报
回复
这句代码是从开源软件zfec里边提取出来的,感觉好复杂
taodm
2013-11-01
打赏
举报
回复
直接无视restrict就可以了,不用折腾。
「已注销」
2013-11-01
打赏
举报
回复
关键字restrict仅对指针有用,修饰指针,表明要修改这个指针所指向的数据区的内容,仅能通过该指针来实现,此关键字的作用是使编译器优化代码,生成更高效的汇编代码,“由restrict修饰的指针是最初唯一对指针所指向的对象进行存取的办法,仅当第二个指针基于第一个时,才能对对象进行存取.” 其实restrict同const或valiate一样是一个修饰符而已,告诉编译器被 restrict修饰的指针所指向的对象,只能通过这个指针或基于这个指针的其他指针进行操作,即限制访问用restrict限制的指针指向的对象只能通过这个指针访问,这对编译器的优化很有好处。 但要注意:restrict是C99中新增的关键字,在C89和C++中都不支持,在gcc中可以通过-std=c99来得到对它的支持。[引自博文]
Adol1111
2013-11-01
打赏
举报
回复
restrict就那个用处吧,搞再多也是一样的。不过这修饰太夸张了点吧... 这里应该是个二维数组,所有的指向都是const,不可更改(包括指针指向),然后所有指向的部分,都有restrict修饰,不让其他指针进行访问。应该是这个意思,你可以试试.
漫步者、
2013-11-01
打赏
举报
回复
没有见过搞这么多修饰的!与其这样,那还不如直接定义为常量!
C++ 语言
64,639
社区成员
250,558
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章