私は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
私は "inside-out"というC宣言を読み出すように訓練されました...変数名で始まり、外側に読んでいます。これにより、int&* aはintへの参照へのポインタとして読み込みます。 int *&aを試してみてください。 – mjfgates
@mjfgates、ありがとう、今私は私の間違いが理解している:) –