[問題] template function 內建型別物件初始化
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C++ / GCC
問題(Question):
如何對任意的 template 的 T 做初始化 ?
假設
template<class T>
T demo()
{
T newT; // 如何初始化 newT ?
return newT;
}
我知道 如果 T 是 class 會自動呼叫 default constructor
但是如果 T 是 built-in type 像是 int 好了
一般都會寫 int newT = 0;
但是 template 不能這樣寫 ...
所以我在想到底該如何 對所有的 T 做初始化的動作
後來用一個爛招
T *initT = new T();
T newT = *initT;
delete initT;
因為 new T() 才會保證初始化吧 ?
但是多一步 感覺很冗 = ="
不過剛學 也想不到別招了 ...
所以想請問各位高手
有比較正確簡單的方式可以完成初始化嗎 ?
感謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.221.54
※ 編輯: cory8249 來自: 140.114.221.54 (06/16 01:44)
→
06/16 01:51, , 1F
06/16 01:51, 1F
感謝 !!
所以代換回去就像是 int test = int(); 的意思嗎 ??
也就是 內建型別 + () 類似 class default constructor ?
※ 編輯: cory8249 來自: 140.114.221.54 (06/16 02:13)
→
06/16 07:47, , 2F
06/16 07:47, 2F
→
06/16 07:48, , 3F
06/16 07:48, 3F
→
06/16 07:48, , 4F
06/16 07:48, 4F
→
06/16 15:32, , 5F
06/16 15:32, 5F
→
06/16 15:53, , 6F
06/16 15:53, 6F
→
06/16 16:30, , 7F
06/16 16:30, 7F
→
06/16 16:30, , 8F
06/16 16:30, 8F
→
06/16 16:31, , 9F
06/16 16:31, 9F
→
06/16 16:32, , 10F
06/16 16:32, 10F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章