Where ampersand “&” can be put when passing argume

2019-02-16 11:43发布

问题:

In the examples that I saw the arguments were passed by reference in the following way:

void AddOne(int &y)

In the code that I have I see the following syntax:

void AddOne(int& y)

I wonder if it is the same or the second case is somehow different from the first one.

回答1:

Both are exactly the same. No difference at all.

All that matters is that & should be between the type and the variable name. Spaces don't matter.

So

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

are same!



回答2:

It's the same for the language, just different code conventions



回答3:

There is no differences between

void AddOne(int &y);

and

void AddOne(int& y);

and even

void AddOne(int&y);

in C++, as the whitespaces between actual tokens are discarded.