Ich bin ein Programmierer Student mit zwei Klassen in C #, aber ich nehme nur meine erste Klasse in C ++, und damit bin ich auf Zeiger ausgesetzt.
Ich weiß, wie sie funktionieren, und die richtige Art, sie zu benutzen, aber ich habe mich gefragt, wie professionelle Programmierer Zeiger in ihren Programmen verwenden.
Wie benutzt man Zeiger? Oder tust du?
Dies wird mir helfen, einige praktische Anwendungen für Zeiger zu verstehen, also danke!
Jedes Mal, wenn Sie eine Referenz in C # verwenden. Eine "Referenz" ist nur ein Zeiger mit ausgefallenen Sicherheitsairbags.
Ich verwende Zeiger alle sechs Zeilen in dem C ++ Code, den ich schreibe. Aus der Spitze meines Kopfes sind dies die häufigsten Anwendungen:
Für Staters verwenden Sie sie in Ihren Datenstrukturen , wie die verknüpfte Liste usw. An jeder Stelle benötigen Sie dynamisch zugewiesenen Speicher das heißt, Speicher, den Sie nicht zur Kompilierzeit kennen, verwenden Sie einen Zeiger .
Wenn Sie etwas Zeit zum Lesen eines Buches haben, empfehle ich Ihnen Die C-Programmiersprache , die Zeiger verwenden.
Ein einfaches Beispiel für eine Standardfunktion:
%Vor%Teil 1 von 2
Zeiger müssen häufig mit C-Bibliotheken verbunden werden, wenn Daten an eine vorhandene API übergeben werden müssen. Dieser Mechanismus ist nicht auf "Legacy" -Systeme beschränkt, moderne Beispiele umfassen OpenGL, DirectX und Win32.
unten ist ein Beispiel aus OpenGL: glVertexPointer (int, float, int, float *) verwendet einen Float-Zeiger als erstes Argument.
%Vor%Anstatt ein statisch definiertes Array zu verwenden, wäre es in Ordnung, folgendes zu tun:
%Vor%oder wenn Sie std :: vector
verwenden möchten %Vor%Teil 2 von 2
Zeiger auf Objekte und Funktionszeiger sind nützlich, um statische Elementfunktionen zu definieren, die für eine bestimmte Instanz einer Klasse verwendet werden müssen. Dieses Idiom erscheint in Callback-Mechanismen.
%Vor%Wenn Sie die callbackAPI steuern, könnten ähnliche Ergebnisse mit Vererbung und Templates erzielt werden. Die obigen Beispiele zeigen eine Möglichkeit, mit einer Callback-API zu arbeiten, die von einem Drittanbieter zur Verfügung gestellt wird, wenn ein Funktionszeiger benötigt wird.