Re: [問題] 取得array長度

看板C_and_CPP (C/C++)作者 (我愛阿蓉)時間16年前 (2009/06/06 03:00), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串5/6 (看更多)
※ 引述《yoco315 (眠月)》之銘言: : ※ 引述《d5123 (dd)》之銘言: : : 我用sizeof(array)/sizeof(array[0]); : : 可得到此array之長度。 : : 但如我我想寫成一個方法,只要將array名稱當作參數,即可得到array長度。 : : 請問這該如何達成呢? : template < class T, size_t N > 不好意思請教一下 ^^^^^^^^^^^ 這邊這樣寫是因為compiler看到我們 寫了 T(&a)[N]用了"N" 才讓我們compile 過? 我在想說 如果我寫template < class T, double N >是不是就沒有任何用法或寫法 可以讓這個N有用武之地..... 我不太了解 這種<class T,擺一個內定型態的用法> 上網goo了一下template 也都只介紹<class T, class Q>這種多任意型態的 謝謝各位 : size_t len ( T (&a)[N] ) { : return N ; : } : int main () { : int a[10] ; : cout << len(a) << endl ; : } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.207.187

06/06 03:08, , 1F
template argument 有三種, type/non-type/template
06/06 03:08, 1F

06/06 03:08, , 2F
你說的是第一種, 上面範例size_t 是第二種
06/06 03:08, 2F

06/06 03:45, , 3F
template 的參數是很自由的
06/06 03:45, 3F

06/06 18:23, , 4F
請教一下第三種是??? 是什麼特化偏特化嗎?
06/06 18:23, 4F

06/06 18:27, , 5F
template<template< ...> > 第三種應該是這類寫法?
06/06 18:27, 5F
文章代碼(AID): #1AAMiwgI (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 5 之 6 篇):
文章代碼(AID): #1AAMiwgI (C_and_CPP)