C ++ ist eine hohe Programmiersprache, die am häufigsten für die Entwicklung von Spielen und Betriebssystemen verwendet wird. Es bietet einige nützliche integrierte Funktionen, die die Programmierung in C ++ erleichtern. Mit diesen integrierten Funktionen können Sie mühelos eine einfache oder komplexe Anwendung erstellen. Der Benutzer kann große Funktionen ausführen, indem sie die integrierte Funktion in das Programm aufnehmen. Dieser Artikel hilft Ihnen dabei++. Hier definieren wir die Funktion des CREF () und helfen Ihnen, die Funktionsweise zu verstehen, indem wir einige nützliche Beispiele demonstrieren.
Was ist cref () C ++ - Funktion?
Das CREF () ist eine integrierte Funktion der C ++-Programmiersprache. Es handelt sich um eine Helferfunktion.
In einfachen Worten wird die CREF () -Funktion verwendet, um eine Referenzverpackung zu erstellen. Der Referenzwrapper ist eine Methode zur Übergabe der Referenz eines Arguments an eine Funktion anstelle des tatsächlichen Wertes. Wenn sich die Steuerung in der Funktion befindet, wird die Referenz des Parameters verwendet, um auf den tatsächlichen Wert zuzugreifen, wobei die ursprünglichen Wert jedoch nicht Änderungen vornehmen, sondern zum Referenzwert. Dies ist nützlich, wenn der Benutzer den ursprünglichen Wert nicht ändern möchte, sondern für weitere Berechnungen verwenden muss.
Syntax von CREF () C ++ -Funktion:
Die richtige Syntax der CREF () -Funktion ist wie folgt:
Die CREF () -Funktion nimmt ein Argument als Eingabe an, das eingewickelt werden muss, und gibt das Referenz -Wrapper -Objekt zurück, um das Element „const Parameter“ zu halten. Lassen Sie uns nun einige Beispiele untersuchen, um die Arbeit der CREF () -Funktion besser zu verstehen. Wenn Sie die angegebenen nützlichen Beispiele befolgen, können Sie lernen, die CREF () -Funktion in Ihren Programmen zu implementieren und gute Anwendungen zu entwickeln.
Beispiel 1:
In diesem ersten Beispiel des CREF () -Partiks definiert die grundlegende Verwendung der CREF () -Funktion in der C ++ - Programmiersprache. Sehen Sie den folgenden Code und verstehen Sie die Arbeit jeder Zeile Schritt für Schritt.
Die erste Zeile enthält die "iOstream" -Bibliothek im Programm, damit das Programm die Standardeingangsausgangsfunktionalität der C ++ - Programmiersprache verwenden kann. Mit der Standard -Bibliothek mit iOstream -Bibliothek können Sie CIN, Cout und andere Funktionen verwenden, um Ihr Programm verwendbar zu machen. Die "funktionale" Header -Datei ist Teil der Standardbibliothek, die von der C ++ - Programmiersprache bereitgestellt wird. Es bietet einen vordefinierten Satz von Klassenvorlagen für die Ausführung mehrerer Funktionen. Es umfasst das Erstellen der Logik, die Durchführung von Vergleiche, unterschiedliche arithmetische Operationen usw. Das Programm beginnt mit der main () -Funktion. Der vollständige Code ist in der Funktion main () geschrieben.
Die erste Codezeile in der Funktion main () lautet "int Ref (9)". Es wird die Funktion "Ref" aufgerufen und übergibt "9" als Parameter an die Funktion "Ref". Danach „Auto ren = std :: cref (ref); ist definiert. Diese Zeile erstellt eine Referenzverpackung des "Ref". Das „Ref ++“ fügt 1 im angegebenen Parameter hinzu, der 9 ist. Also wird der „Ref ++“ zu 10. Der berechnete Wert wird an die Cout -Anweisung übergeben, damit er gedruckt werden kann. Die Rückgabe 0 -Anweisung stellt sicher, dass die Ausgabe erfolgreich zurückgegeben wird. Wenn es einen Fehler gibt, erhöht die Rückgabe 0 die Ausnahme.
Um das Programm zu kompilieren und auszuführen, müssen Sie in der Taskleiste "Kompilieren und Ausführen" drücken. Oder Sie können einfach die Funktionstaste „F11“ auf der Tastatur drücken. Checkout der angegebenen Ausgabe im Folgenden:
Wie Sie sehen können, ist die Ausgabe 10, was genau das ist, was wir manuell berechnet haben.
Beispiel 2:
Dieses Beispiel zeigt die vom Compiler ausgelöste Ausnahme, wenn der Benutzer direkte Änderungen am ursprünglichen Referenzwert vornehmen möchte. Sie können den Code für Ihr Verständnis in der folgenden Abbildung finden.
Die Funktion verwendet dieselben Bibliotheken, wie im vorherigen Beispiel verwendet. Die Funktion „void f (const int & n)“ ist zu Beginn des Programms definiert. Es nimmt die Eingabe von der Hauptfunktion und versucht sie zu manipulieren. Die Cout -Anweisung druckt den Wert, wenn sich die Steuerung in der Funktion befindet.
Die Anweisung "N ++" erhöht n mit 1. In der Hauptfunktion wird „n“ mit 1 initialisiert. Die "std :: function band_f = std :: bind (f, std :: cref (n));" Die Anweisung wird verwendet, um die Funktion „F“ mit dem Referenzverpackungswert zu binden. Die beiden Cout -Anweisungen werden verwendet, um die Werte zu drucken, wenn sich die Steuerung in der Hauptfunktion befindet. Die erste Cout -Anweisung druckt den Wert, bevor er die untergeordnete Funktion aufruft. Die zweite Cout -Anweisung druckt den Wert nach dem Aufrufen der untergeordneten Funktion.
Drücken Sie in den Funktionstasten oder im Kompilierymbol in der Taskleiste "F11", um das Programm auszuführen.
Hier ist die Ausgabe des Programms:
Wenn Sie diesen Code ausführen, erhalten Sie einen Fehler "Erhöhung der schreibgeschützten Referenz" n '". Dies geschieht, weil wir die Referenzverpackung an die „const int & n“ in der Kinderfunktion übergeben haben. Mit dem „const“ können Sie nicht Änderungen am Wrapper -Parameter vornehmen. Daher wirft es einen Fehler auf.
Beispiel 3:
Das nächste Beispiel ist etwas komplexere Version des ersten Beispiels. Hier definieren wir die drei Variablen und geben sie jeweils an die Kinderfunktion weiter, anders. Das erste Argument wird einfach übergeben, ohne eine Referenzverpackung zu erstellen. Die beiden anderen Eingabennummern werden jedoch nach dem Erstellen der Referenzverpackung bereitgestellt. Siehe den folgenden Code:
Der Rest des Programms entspricht dem, was im zweiten Beispiel angegeben wurde. Der einzige Unterschied besteht darin, dass wir drei Eingänge bereitstellen und keine Eingangskonstante vornehmen. Die Bindungsfunktion bindet die untergeordnete Funktion mit den Eingabeparametern. Die Ausgabe nach der Ausführung des Programms lautet wie folgt:
Beachten Sie, dass die Werte vor dem Aufrufen der untergeordneten Funktion und wenn sich die Steuerung in der untergeordneten Funktion befindet. Wenn die Steuerung jedoch zur Hauptfunktion zurückkehrt, werden alle Eingabewerte durch 1 erhöht. Dies geschieht, weil die Erhöhung der Eingänge in der untergeordneten Funktion berechnet wird und zur Hauptfunktion zurückkehrt.
Abschluss
In diesem Leitfaden lernen wir die CREF () -Funktion der C ++ - Programmiersprache kennen. Die CREF () -Funktion wird verwendet, um den Referenzverpackung der angegebenen Eingabe zu berechnen. Mit Hilfe von Beispielen haben wir gelernt, wie man die CREF () -Funktion im C ++ - Programm implementiert.