我寫了下面的代碼:傳遞指針類型的模板參數
template <typename T>
void myname(T* x)
{
cout<<"x is "<<x;
}
,我調用:
char *p="stackOverflow";
myname(p);
它打印stackOverflow
。
但是,如果我將模板參數從(T* x)
更改爲(T x)
,我會得到相同的結果。
那麼兩個模板參數有什麼區別?
void myname (T x)
和
void myname (T* x)
Excelletanswer。如果是這種情況,如何傳遞像char **這樣的雙指針? – Whoami 2013-04-25 11:35:27
@Whoami你是什麼意思?第一種情況使用T **,第二次使用T,第三種情況使用T *。打電話像'myname(&p)'; – ForEveR 2013-04-25 11:42:33
明白了吧)。多謝,夥計。 – Whoami 2013-04-25 11:45:37