簡體   English   中英

(void)sizeof(0 [array])是什么意思?

[英]What does (void) sizeof (0[array]) mean?

我遇到了以下代碼,它返回C樣式數組的大小。

template <typename Type, int N>
int GetArraySize(Type (&array)[N])
{
    (void) sizeof (0[array]);
    return N;
}

模板部分似乎已經在這個問題中得到了解釋。


但是,我仍然不明白sizeof行的效用是什么。 有任何想法嗎? 有人建議避免使用未使用的變量警告,但是可以使用更簡單的#pragma ,對吧?

而且,這段代碼在任何情況下都會有效嗎? 沒有任何限制嗎?

我認為該行的目的是靜默未使用的變量警告。 更簡單的是省略參數名稱

template <typename Type, int N>
int GetArraySize(Type (&)[N])
{
    return N;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM