[英]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.