Where ampersand "&" can be put when passing argument by reference?

ampersand symbol
how to pronounce ampersand
ampersand meaning and examples
ampersand variations
how to draw an ampersand
ampersand tattoo
types of ampersands
was the ampersand a letter

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.

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.


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

are same!

Ampersand, is the logogram &, representing the conjunction "and". It originated as a ligature of the letters et—Latin for "and". The symbol we know as the ampersand first appeared in some graffiti on a Pompeian wall around the first century CE. It wasn't called an "ampersand" at the time—it was just a ligature of the cursive

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

What Is an Ampersand Symbol and How Is it Used?, was included in the Old English alphabet, and the term is an alteration of and per se and. The ampersand (&) symbol, also referred to as the " epershand " or " and " symbol, is found above the number 7 key on a US QWERTY keyboard. Where is the ampersand key on the keyboard? How to create the & symbol What is an ampersand used for on a computer?

There is no differences between

void AddOne(int &y);


void AddOne(int& y);

and even

void AddOne(int&y);

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

What is an Ampersand?, , is found above the number 7 key on a US QWERTY keyboard. The ampersand is also used in an unusual configuration where it appears as “&c” and means etc. The ampersand does double work as the e and t. The ampersand isn’t the only former member of the alphabet. Learn what led to the extinction of the thorn and the wynn.

The History of the Ampersand - Black Lion Banner, E and T ( et being the latin word for and). As the Romans expanded their empire across the globe, many languages just absorbed this ligature into their own alphabet. An ampersand is a symbol (&) representing the word and. The ampersand was included in the Old English alphabet, and the term is an alteration of and per se and. The symbol is a combination (or ligature) of the letters in et, Latin for "and." In formal writing, the ampersand is primarily used in the names of companies, such as "Johnson & Johnson."

What Character Was Removed From The Alphabet?, The word ampersand came many years later when “&” was actually part of the English alphabet. In the early 1800s, school children reciting their ABCs concluded  Ampersand is an innovative adjuvant system scientifically formulated to improve the delivery and efficacy of agricultural pesticides by utilizing hydrocolloid technology. Attune, the makers of Ampersand, tapped into over a century’s worth of hydrocolloid expertise from the food industry in order to create this functionally superior adjuvant

What Is The Origin Of The Ampersand (&)?, For such an ancient symbol, the name 'ampersand' is surprisingly modern. First seen in the late 18th century, it comes from an alteration of and per se and (​literally  The earliest known use of an ampersand is in graffiti on a wall in Pompeii. The Latin word for “and” is “et,” and the ampersand symbol was originally formed as a blend of those two letters: E and T. Today, when letters are connected like this in typefaces, we call them ligatures.

  • Whitespace in C++ doesn't matter. You could do void AddOne(int & y) if you wanted to.
  • @chris: That isn't exactly true. unsignedint and unsigned int are different sequences of tokens. But the code shown in this question doesn't differ in the tokens.
  • For what it's worth, I think the second option is clearer; int& is the type of y.
  • @JSQuareD: I prefer int &y (when I think more), especially if you declare more than one variable on the same line. I mean if I write int& y=i, x=i. Is x a reference here? Seems confusing? But int &y=i, x=i is a bit better, I think.
  • @BenVoigt, I was thinking about that. I couldn't come up with a good wording for it. It usually doesn't matter, but when it does, it seems more like common sense. If both of these work, it makes sense that the spacing makes no difference.
  • as well as int&y (no spaces).