我是C++的新手,我想了解下面的示例之間的區別。爲什麼我們不能使用&(* a),但可以使用typedef來實現它?
我們不能創造功能
void someFunc(int &*a){
int *b=new int; //just for example
a=b;
}
,但使用的typedef
typedef int* pint;
void someFunc(pint &a){
int *b=new int; //just for example
a=b;
}
一切正常。
這只是一個編譯器技巧,還是這種行爲的原因更復雜?
注意,'pint&a'是'int *&a',而不是'int&* a'。 – Griwes 2012-04-28 11:55:32
我接受過培訓,可以讀取「內外」的C聲明......以變量名開頭,然後向外讀。由此,int&* a讀取指向int的指針。嘗試int *&a? – mjfgates 2012-04-28 11:57:35
@mjfgates,謝謝,現在我明白我的錯誤在哪裏:) – 2012-04-28 11:59:18