iT邦幫忙

0

C++溫故知新:計算陣列的元素數量

c c++
  • 分享至 

  • xImage
  •  
using namespace std;

//方法2 (MACRO)
#define STRUCTSIZE(s) (sizeof(s) / sizeof(*s))

//方法3
//陣列大小 5 可以在編譯期被 Template 自動推導出來,而不是等程式執行後才計算。
template <size_t N>
size_t ar_size(int (&x)[N])
{
    return N;
}

int _tmain(int argc, _TCHAR* argv[])
{
  int x[]={1,2,3,4,5};

  //方法1 (sizeof() 傳統C與C++的運算子-------------
  cout << "方法1: " << sizeof(x) / sizeof(int) << endl;

  //方法2 (MACRO)----------------------------------
  cout << "方法2: " << STRUCTSIZE(x) << endl;

  //方法3 (函數)-----------------------------------
  ar_size(x);
  cout << "方法3: " << ar_size(x) << endl;

  //方法4 (C++17 std::size(x))---------------------
  size(x);
  cout << "方法4: " << size(x) << endl;

    return 0;
}


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言