Bedeutung von pass by reference in C und C++?

Ich bin verwirrt über die Bedeutung von "pass by reference" in C und C++.

In C gibt es keine Referenzen. Also ich denke, pass by reference bedeutet, wird ein Zeiger übergeben. Aber dann warum nicht rufen Sie übergeben, indem Zeiger?

In C++, wir haben beide Zeiger und Referenzen (und Sachen wie Iteratoren liegt ganz in der Nähe). Also, was bedeutet übergabe per Referenz hier bedeuten?

  • In C gibt es Referenzen, und AFAIK Sie Verhalten sich genauso wie in C++
  • Siehe stackoverflow.com/questions/57483/... und stackoverflow.com/questions/2229498/passing-by-reference-in-c
  • "Pass by reference" ist ein fester Begriff und in C sollte es nicht verwendet werden. "Passing ein "Referenz" verwendet werden kann, obwohl, weil, dass kann bedeuten, die Adresse wird zuerst genommen. Und Iteratoren sind nicht in der Nähe dieser Grundtypen.
  • Im Allgemeinen ist ein Zugriff auf die variable, die erlaubt, um den Wert zu ändern die er sich bezieht... In C, die Sie tun können dereferenzieren eines Zeigers, so dass der Begriff der Referenz ist auch gültig...
  • Flagge als doppelte.
  • Ah, ich dachte, ich war von flags, die heute schon 🙂
  • Mir wurde gesagt, es bedeutet nur, dass Sie nicht über eine doppelte variable, sondern der Verweis darauf. Es ist ganz gut, weil es nicht brauchen, das Programm zu kopieren, der variable. Zum Beispiel, das kopieren einer Klasse könnte sehr lange dauern, oder Töne der Erinnerung. Wenn Sie einfach übergeben Sie die Referenz, die Sie arbeiten werden auf die Klasse statt auf ein Exemplar der Klasse
  • Die unpopuläre Antwort: alles Quatsch, erfunden von verwirrt sogenannte Informatiker. Es ist nichts als "Referenzen" oder "Zeiger" in einem computer oder in Ihrem tatsächlichen Computer-code. Es gibt nur Werte und Adressen. Sie können nennen Sie eine Adresse, was du willst, es ändert nichts an der Tatsache, dass es nur eine raw-Reihe. Wenn Sie an etwas, an eine Funktion, die Ihren computer gibt die Möglichkeit, übergeben Sie eine Kopie des Werts, der durch ein Daten-register oder auf dem stack, oder die option zu übergeben, der die Adresse der Daten über einen index zu registrieren. Keine andere Art von Computer in der realen Welt existieren.
  • Sie sind verwirrend, all diese bash/js/usw-Programmierer, die wissen, dass, wirklich, Computern Textzeilen direkt.
  • "Referenz" bedeutet, verschiedene Dinge, je nachdem, wo Sie stehen und was Sie tun - es ist völlig überlastet. Zum Beispiel, wenn Sie versuchen, reverse Engineering/debug jemand anderes C++ - code, der eine variable per Referenz übergeben, ist eine lästige und dumme Verschleierung, die speziell entwickelt wurde, um zu verhindern, dass die Wartung und Verbesserung der Entwickler wissen, ob das ändern eines var-Wert wird an den Aufrufer, oder nicht, ohne aufzublicken, seine Erklärung. In C, es müsste ein Stern vor ihm, so wissen Sie sofort.
  • DANKE DIR, niemand wird zugeben, dass dies hier, dies ist die einzig richtige Antwort.
  • Lundin ist der einzige der hier kämpfen die Verwirrung...

Schreibe einen Kommentar