日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关键字restrict简介

發(fā)布時間:2023/12/18 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关键字restrict简介 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

c99中新增加了一個類型定義,就是restrict。 restrict的定義是It can be applied only to pointers, and it indicates that a pointer is the sole initial means of accessing a data object. 我不知道確切應(yīng)該怎么翻譯,大意是restrict只對指針有用,它聲明一個指針是唯一初始化訪問一個數(shù)據(jù)對象。 比如,按照書上的例子:

int ar[10];
int * restrict restar = (int *) malloc(10 * sizeof(int));
int * par = ar; for (n = 0; n < 10; n++)
{
par[n] += 5;
restar[n] += 5;
ar[n] *= 2;
par[n] += 3;
restar[n] += 3;
}

restar指針是restrict類型,par指針就不是,因為par即沒有初始化也不是唯一訪問ar數(shù)組的變量。
那么,上面的程序,因為restar是唯一反問數(shù)據(jù)塊的指針,所以編譯器可以對它優(yōu)化為一條語句, restar[n] += 8; /* ok replacement */ 而par就不可以, par[n] += 8; / * gives wrong answer */

轉(zhuǎn)載于:https://www.cnblogs.com/kingcat/archive/2013/01/05/2845648.html

總結(jié)

以上是生活随笔為你收集整理的关键字restrict简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。