Por fin luego de mucho luchar pudimos hallar la contestación de este inconveniente que ciertos de nuestros usuarios de esta web tienen. Si tienes alguna información que compartir no dudes en aportar tu información.
Solución:
“&” puede significar varias cosas diferentes, según el contexto.
El ejemplo que diste arriba es el “operador de referencia” de C++:
Necesita ayuda para entender el operador de referencia (C++) en funciones específicas
El operador de referencia es específico de C++. “&” también se puede usar como el operador “dirección de”, que se usa tanto en C como en C++:
¿Cuáles son las diferencias entre una variable de puntero y una variable de referencia en C++?
Finalmente, “&” también puede ser el operador “AND” bit a bit:
http://www.cprogramming.com/tutorial/bitwise_operators.html
Significa pasar por referencia, el objeto que se pasa se puede manipular directamente. Por ejemplo cuando escribes public void TestMethod(obj value)
cualquier cambio que realice en el valor no afecta el valor original (es decir, se realiza una copia), sin embargo, cuando pasa por referencia, cualquier cambio que realice en el valor cambia el valor original.
En el código que proporcionó en su pregunta &
El símbolo actúa para pasar el argumento por referencia en su operator+
función. Si lo elimina, su código aún podrá compilarse y actuará de la misma manera (en su caso), pero los argumentos se pasarán en su operator+
función por valor (se copiará).
Si aceptas, eres capaz de dejar una división acerca de qué te ha gustado de este escrito.