程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++中通過模板向函數傳遞數組長度

C++中通過模板向函數傳遞數組長度

編輯:關於C++

我們知道,在C/C++中,向一個函數傳遞數組時,實際上傳送的是這個數組的首地址,也即是一個指針類型。所以,在函數中,我們沒有辦法知道這個傳遞進來的數組的長度到底為多長,一個普遍的方法就是再增加一個參數,來記錄傳遞進來的數組的長度。

不過在C++中,使用模板機制,可以很好地解決這個問題,如下面的代碼所示:

#include <iostream>
using namespace std;
template<class T, int N>
void array(T (&param)[N])
{
  cout << "N= " << N << endl;
}
int main()
{
  int i[100];
  double d[20];
  char c[6];
  array(i);
  array(d);
  array(c);
  return 0;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved