有沒有大神幫我解讀下下面這段C 的巨集定義什麼意思?

時間 2021-06-01 08:14:55

1樓:hu zhi

就是把名為 __func 的函式用c++的模板過載,使得輸入為陣列的時候不需要再specify陣列的size了。

比如你有個函式是 doSomething(int* a, size_t n);

其中a是array的起始位址, n 表示的是 array的size。

但是一般對於靜態陣列,比如我有個 int a[10];

那麼我call這個 doSomething的時候, 我就需要 doSomething(a, 10);

這裡就有個重複:從a本身的type,我就已經知道它的size是10了,為什麼還要讓我在呼叫函式的時候再輸入一遍?

這時候,用題中的模板推導。就可以把 doSomething 過載,你只需要call doSomething(a) 就可以了。模板匹配之後就會自己知道那個size 是10。

以上這個過程只針對stack上的靜態陣列 (也就是形如 int a[10] 這樣的東西)。對heap上的動態陣列是不起作用的(那裡你只會有乙個int* 作為起始位址,需要乙個額外的東西來儲存size,size info並不在type裡面)。

有沒有大神幫我看看這篇文?

有夢想的鹹魚 就第一頁看下來,其實就沒有看下去的必要了。小學生文筆,人物一點都還沒交代,讓讀者莫名其妙的看著這幾個自己不了解哪怕一點的角色在做一些莫名其妙的事情。我是一條有夢想的鹹魚,坑神的黑粉頭子,菜雞中的菜雞。今天就懶得放圖了 溜了。 公尺桃 我給你改改 寧川萬萬沒想到,他會和乙個男生摔進水池裡...

有沒有人能解釋一下下面這個等式?

一童天下 應該是srednicki的吧 其實就是把哈密頓中的對應項改成算符提前,你可以把前面有算符的指數展開,列出幾項歸納一下看看,求導之後的東西再用反向泰勒展開縮在一起就成了積分號裡面的指數項e的H1次方什麼的 引理一 證明 注意到根據變分的定義,掉換變分與路徑積分的順序即可。引理二 證明 同上。...

有沒有學法醫專業的 幫我分析分析下面這個資料

死者代言人 死者半睜眼 沒有意義。嘴唇外圈發紫色 可能有意義,但僅這個描述沒有確切意義。紫紺or皮革樣化or淤血or正常不明。面部充血發紅,耳朵充血腫大發烏 紫色 淤血貌或者是屍斑?不明。頸部全部紫紅色,並伴有紅色血點。同上,淤血或屍斑。血點形態位置大小都不明,可能是瘀點類?也可能是生前?還可能沒啥...