Pourquoi devrais-je utiliser les variables de référence à tous?

Comme mon premier langage de programmation, j'ai appris le Java, mais depuis que j'ai changé d'Université, je suis en train d'apprendre le C++.

Venant de Java et de l'apprentissage des bases du C++, j'ai lu à propos des références et des valeurs de référence. Et comment dangereux, ils peuvent être, et comment être prudent avec eux et ainsi de suite.

Alors dans ma tête, se pose une question simple:
Pourquoi m'embêter à utiliser ce genre de compliqué, et donc potentiellement qui causent des problèmes, des trucs?

Est en quelque sorte la peine, ou tout simplement une relique de l'époque où la RAM est à propos de 64 MO de gros?

Depuis beaucoup de réponses ont mentionné des pointeurs: ce concept est clairement à partir de l'âge de pierre, à mon humble avis. Sauf pour la haute performance de calcul, je ne le touche même pas ce genre de choses.

Ils sont moins dangereux que des pointeurs.
Ce que vous devriez vous poser est plutôt: Maintenant que j'ai des références, pourquoi ai-je besoin de pointeurs? (au passage, les références et les pointeurs intelligents sont plus comme leur Java homologues que les pointeurs).
Outre l'appel par valeur, vous n'avez que des références en java.
Pouvez-vous nous donner un exemple de l'endroit où vous pensez qu'une référence est une mauvaise idée, tandis que vous pensez à quelque chose d'autre (et dire ce) est le meilleur?
Essayez d'apprendre le C++ à travers un filtre de Java compréhension est une mauvaise idée. Essayez d'oublier tout ce que vous savez à propos de Java. Vous ne pouvez pas apprécier que Java est de prêter à confusion, à glisser dans les pointeurs lors du passage des objets. En C++, tout est transparent.

OriginalL'auteur kwoebber | 2012-10-04