Referenzen in C ++





C ++ Referenzen, ++ Referenzvariablen

In unserem letzten Artikel, Wir haben bereits erwähnt,, dass Parameter an die Funktion übergeben werden Bedeutung oder der Zeiger. Es funktionierte, wenn Programme in C schreiben. In C ++ ist es möglich, Parameter an die Link-Funktion übergeben. Betrachten Sie das Beispiel dieser Lektion, Sie werden feststellen,, Links, die bequemer bedienen als Zeiger.

Link – ist ein alternativer Name der Variablen (ihren Spitznamen, in anderen Worten). Wenn nimmt die Funktion eines Parameters als Referenz, Parametername wird eine Alias-Variable, dass wir an die Funktion übergeben. Solche ermöglicht eine Datenübertragungsverfahren die Funktion mit variablen Werten zu arbeiten,, die an sie übertragenen, anstatt mit Kopien dieser Variablen.

Definieren einer Funktion, zu Punkt, daß der Parameter eine Referenz, ist es notwendig, den Namen eines Et-Zeichen hinzufügen &.

Sammeln Sie das folgende Beispiel, und alles sollte klar sein,:

Beginnen wir mit der Funktion starten Veränderung(). Der Aufruf in Zeile 17 Quelle, Wir geben es in den Variablen von Wert. Funktion sicher Kopien dieser Variablen erstellen, die Daten in sie schreibt und, Abschluss seines “schwierig” Arbeit, zerstören diese Kopien. Als Ergebnis wird keine Änderungen an den übertragenen Variablen geschehen.

Betrachten Sie nun die Funktionsdefinition changeRef(), in dem die Parameter als Referenz übergeben – Linien 45 – 49. Wie oben erwähnt, wir verwendet & , den Compiler zu sagen, dass, dass akzeptiert Parameter – Link. Innerhalb der Funktion verweisen wir auf Links, wie gewöhnliche Variablen. Das heißt, wir brauchen nicht die dereferenzieren Betrieb anzuwenden, wenn Sie den Wert einer Variablen zu ändern:

C ++ Referenzen, ++ Referenzvariablen

Und dem Aufruf dieser Funktion von der Haupt (Reihe 21), wir brauchen nicht, Getriebegrößen, gelten die Operation die Adresse des Nehmens (derselbe & , jedoch mit einer anderen Konnotation), wie notwendig, um die Übertragung durch den Zeiger zu machen. Das Ergebnis der Funktion sehen, zeigen die Werte der Variablen auf dem Bildschirm. Die Werte der Variablen erfolgreich geändert.

endlich – Sendezeiger. Direkt zu bestimmen changePtr() – Linien 51 – 55. Es gibt etwas,, die wir nicht an der Verbindungsübertragung verwenden – dereferenzieren Zeiger auf die Variablen zu ändern:

C ++ Referenzen, ++ Referenzvariablen

Da die Funktion ist, die Zeigervariablen zu nehmen, und speichert die Adressenzeiger, wenn Sie anrufen (Reihe 25) peredaёm in ihren Adressvariablen:

C ++ Referenzen, ++ Referenzvariablen

Das Ergebnis des Programms:

C ++ Referenzen, ++ Referenzvariablen

Ich will nicht wirklich zu belasten Sie weitere Informationen über Links. Sie werden häufig auf eine Funktion übergeben Parameter verwendet. In der Rolle der Parameter können Variablen handeln, Arrays (es ist uns vertraut). Aber was noch wichtiger ist – die Verbindung zu den Funktionsobjekte sind Strukturen und Klassen übergeben. Die Zeit wird kommen, und wir werden darüber reden.

die einzige, Es ist in Bezug auf Syntax, wenn Sie einen Link auf das Programm zu erklären,, es muss sofort initialisieren (zu zeigen, wie variabel sie erstellt wird). beispielsweise:

C ++ Referenzen, ++ ReferenzvariablenSo kann das Programm wir den Referenznamen für einen weiteren Zugriff auf Ihre Daten verwenden, dass Geschäfte aaa. Dieses Beispiel, wenn jemand an Ihnen ist, den Code und gab den Namen der Variablen zu schreiben aaa. Dieser Programmierer weiß, er speichert die Anzahl der Kisten. Und Sie, für Ihre Bequemlichkeit, die Variable alias gegeben amountOfBoxes und verwenden Sie einen neuen Namen, einige neue Code in einem Programm anhängt.

Ich schlage vor, das Video der Funktionsparameter zu sehen, einschließlich, wo und sprach über Links.




Newsletter neue Lektionen über die Programmierung:

Referenzen in C ++
5 (100%) 2 Stimmen

5 Gedanken zu "Referenzen in C ++

  1. Link – ist ein alternativer Name der Variablen, IMHO mehr hier nichts zu erklären. Variable ein, nur einige zu nennen. Mit jedem Namen einer Variablen, können Sie irgendwie arbeiten. In dem Fall, unter Bezugnahme auf die gleichen Funktionsargumente, nur ein alternativer Name der Variablen innerhalb der Funktion sichtbar sein.

    Nun, ein paar Beispiele möchte ich hinzufügen,.

    unnötigerweise. Zeiger – es ist auch variable (speichert einfach die Adresse eines Objekts), dann kann die Funktion einen Verweis auf einen Zeiger übergeben, wie beispielsweise
    void foo(int &*arr);
    Welche Art von.

    Und ein weiteres Beispiel, ist 2 Funktionen:
    void foo(int * a);
    Leere Bar(int &ein);
    Die erste nimmt einen Objektverweis, zweite- Zeiger.

    Irgendwo im Programm (beispielsweise in der Hauptfunktion ist das Objekt,:
    int war = 123;

    Wenn Sie es in der ersten Funktion zu übergeben – müssen wir die Adresse eines Objekts erhalten:
    foo(&war);
    in zweiter Linie – Sie können einfach passieren, während in der Funktion den alternativen Namen des Objekts verwenden
    Bar(war);
    Wenn wir müssen einen Zeiger auf ein Objekt zu definieren, – es muss auch Adresse initialisiert werden:
    int * p = &war;

    Innerhalb der ersten Funktion mit dem Ziel der Arbeit wie üblich (denn wir haben nur einen anderen Namen):
    void foo(int &ein) { a = 456; }

    In der zweiten Funktion, haben wir einen Zeiger, deshalb gezwungen zu dereferenzieren es auf das Objekt zuzugreifen:
    Leere Bar(int * a) { *a = 789; }
    // wenn a – Zeiger,
    // die (*ein) – Objekt,
    // und (&(*ein)) – Adresse Objekt Klammern entfernt werden können, Set für Klarheit (sie spiegeln die Prioritäten).

  2. Referenzen – ziemlich unangenehm für Anfänger Konzept in C ++ (obwohl es auch für Anfänger in Java oder Python natürliche).

    Für Anfänger können so sagen (Obwohl es nicht ganz tocho):
    – variablen Referenz – es ist genau das gleiche, als Zeiger auf sie, aber dieser Link, Anders als Zeiger, Sie können keine Adresse Arithmetik (+, -, ++, –).

    Es ist ungenau im Sinne, aber sofort können Sie Links in Ihrem Code verwenden, ohne Fehler.

    1. Oleg, Schön, dass Sie die Aufmerksamkeit auf unsere Artikel und machen wichtige Hinweise auf die Präsentation des Materials bezahlen. Vielen Dank und vom Administrator der Website und, ich denke,, von Besuchern )

    2. Weder ein Anfänger Sie versteht nicht,. Ihre Erklärung nicht verstehen, Folgende Artikel sind bei Ihnen und es ist sehr schwer zu verstehen,, unmöglich. Aber dieser Artikel ist sehr leicht zu erkennen. Keine weitere Artikel wie Zeiger auf Funktionen

      1. Was heißt “keiner”? Nicht nur verstehen die dümmste ;-) … andere etwas, ja verstehen.

        Programmierung – es ist im allgemeinen nicht einfach Maschinenbau Disziplin, und es zu erklären, “auf Finger” unmöglich Umgebungslärm gleiche, wie, beispielsweise, mathematische Analyse und Darstellende Geometrie.

        Und in der Lage, Programmierung lernen nur, die lange und harte Praxis und unabhängig Code schreiben.

        P.S. Und durch das Lernen, das Niveau der zu erklären “zwei und zwei, Babes, manchmal dreht sich vier, wenn es Ihnen nichts ausmacht” – Niemand nichts gelernt, gibt es nur eine Illusion, die “Auch ich studierte dort etwas”.

Hinterlasse eine Antwort

Deine Email-Adresse wird nicht veröffentlicht. erforderliche Felder sind markiert *