2013-03-13 6 views
10

:それはあるかしら引数を参照渡しするときにアンパサンド「&」を入れることができますか?私は、引数は次のように参照によって渡された見た例で

void AddOne(int& y) 

:私は、次の構文を参照してくださいしているコードで

void AddOne(int &y) 

同じまたは第2の場合は、第1の場合とは多少異なる。

+6

C++の空白は関係ありません。あなたがしたい場合は 'void AddOne(int&y)'を実行することができます。 – chris

+2

@chris:そうではありません。 'unsignedint'と' unsigned int'はトークンの異なるシーケンスです。しかし、この質問に示されているコードは、トークンに違いはありません。 –

+1

価値があるのは、私は第2の選択肢がより明確だと思う。 'int 'は' y'の型です。 – JSQuareD

答えて

17

、言語のために同じだが、正確に同じあります。違いはありません。重要

すべてが&タイプ変数名の間でなければならないことです。スペースは関係ありません。

ので

void AddOne(int& y); 
void AddOne(int &y); 
void AddOne(int & y) 
void AddOne(int &  y); 
void AddOne(int&y); 

は同じです!実際のトークンの間に空白が破棄されるよう

+3

、 'int&y'(空白なし)のようになります。 –

+1

@BenVoigt:はい。 – Nawaz

0

は、

void AddOne(int &y); 

void AddOne(int& y); 

およびC++でさえ

void AddOne(int&y); 

間に差はありません。

関連する問題