簡體   English   中英

具有size_t模板參數的函數

[英]Function with a size_t Template Parameter

我正在嘗試理解模板功能。 最終目標是將整個數組傳遞給函數。 似乎有許多不同的方法來實現它,但它們都使用模板功能。 這是我發現的一個更簡單的例子......

template<size_t N>
void h(Sample (&arr)[N])
{
    size_t count = N; //N is 10, so would be count!
    //you can even do this now:
    //size_t count = sizeof(arr)/sizeof(arr[0]);  it'll return 10!
}
Sample arr[10];
h(arr); //pass : same as before!

我認為模板<>用於創建一個可用於代替int,float,char等的變量。指定類型(size_t)的重點是什么,這是做什么的?

size_t N模板參數是基於傳遞給模板函數的數組大小的推導積分值。 模板參數可以

  • 非類型模板參數;
  • 類型模板參數;
  • 模板模板參數。

參考: 模板參數

您可以將模板重用於任何大小的數組。

暫無
暫無

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

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