我發現this article,帶來了以下方案並獲得數組大小的宏:「sizeof」如何在此幫助程序中用於確定數組大小?
template<typename Type, size_t Size>
char (&ArraySizeHelper(Type(&Array)[Size]))[Size];
#define _countof(Array) sizeof(ArraySizeHelper(Array))
,我發現下面的部分完全不清楚。 sizeof
適用於函數聲明。我希望結果是「函數指針的大小」。爲什麼它會取得「返回值的大小」呢?
不,它應用於函數返回值。 – 2011-05-24 05:50:43
只需要注意,在C++ 11中,他可以在中途嘗試的'countof'函數產生一個編譯時常量。 – 2011-05-24 06:32:42