„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > ## Wann sollten Sie Referenzen als Funktionsparameter in C++ verwenden?

## Wann sollten Sie Referenzen als Funktionsparameter in C++ verwenden?

Veröffentlicht am 07.11.2024
Durchsuche:922

## When Should You Use References as Function Parameters in C  ?

Übergabe von Argumenten in C: Referenzen verstehen

In C wird das Verhalten eines Funktionsparameters durch seinen Typ bestimmt. Ein entscheidender Unterschied besteht zwischen „Übergabe nach Wert“ und „Übergabe nach Referenz“.

Warum Referenzen in Funktionsparametern verwenden?

Referenzen werden in Funktionsparametern für zwei verwendet Hauptgründe:

  • So ändern Sie das Argument:
    Referenzen ermöglichen der Funktion, den Wert des übergebenen Arguments zu ändern. Dies bedeutet, dass die Funktion Änderungen vornehmen kann, die für den Aufrufer sichtbar sind.
  • So vermeiden Sie das Kopieren von Objekten:
    Die Übergabe großer Objekte als Referenz kann die Leistung erheblich verbessern. Wenn ein Parameter als Referenz übergeben wird, wird nur seine Speicheradresse übergeben und nicht das gesamte Objekt. Dies vermeidet den teuren Kopiervorgang.

Beispiel:

Bedenken Sie den folgenden Code:

void get5and6(int *f, int *s)
{
    *f = 5;
    *s = 6;
}

Diese Funktion verwendet Zeiger, um die übergebenen Argumente zu ändern. Alternativ können wir Referenzen verwenden:

void get5and6(int &f, int &s)
{
    f = 5;
    s = 6;
}

Beide Ansätze erzielen das gleiche Ergebnis, da sich Referenzen ähnlich verhalten wie Zeiger. Aus Gründen der Klarheit und Benutzerfreundlichkeit wird jedoch häufig die Übergabe per Referenz bevorzugt.

Übergabe per Referenz vs. Übergabe per Zeiger

Übergabe per Referenz und Übergabe per Zeiger sind ähnlich , da beide die Übergabe der Adresse des Arguments beinhalten. Es gibt jedoch einige subtile Unterschiede:

  • Zeiger: Zeiger zeigen explizit an, dass die Funktion den Wert des Arguments ändern kann.
  • Referenzen: Referenzen bieten eine direktere und bequemere Möglichkeit, auf das Argument zuzugreifen, als ob es eine lokale Variable wäre.

Im Allgemeinen ist die Übergabe per Zeiger besser geeignet, wenn von der Funktion erwartet wird, dass sie das Argument ändert Wert des Arguments, während die Übergabe als Referenz bevorzugt wird, wenn auf das Argument nur zugegriffen wird oder wenn der Aufrufer nicht weiß, ob der Wert geändert wird.

Wann Referenzen verwendet werden sollten

Referenzen sind in den folgenden Szenarien besonders nützlich:

  • Ändern des Argumentwerts innerhalb der Funktion.
  • Vermeiden des Kopierens von Objekten zur Verbesserung der Leistung.
  • Übergabe großer oder komplexe Objekte ohne nennenswerten Overhead.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3