hy Leute!
Bin ein Interessierter Programmierer und habe mich schon in den verschiedensten Sprachen versucht.(Java, Perl, VisualBasic, DarkBasic, Delphi usw). Programmiere mir mitlerweile meine CGI\'s selbst und versuche mich hin und wieder an 3D Games(mit DarkBasic) und Appz(mit VisualBasic und Borland Delphi).
Nun ne Frage zu C++: Was ist an PointerVariablen besser, als an
normalen Variablen. Sie speichern immerhin die Speicheradresse des Wertes im Arbeitsspeicher, obwohl ich doch viel einfacher den wert wiedergeben kann, wenn ich es ohne Pointervariablen direckt von der jeweiligen Variable ziehen kann...
Meines erachtens ist die Methode zur speicherung von Werten mit Pointer viel unübersichtlicher! Vor allem bei der Analyse eines fremden Quellcodes. (Versuche manchmal krampfhaft den Wert zu suchen, der letztendlich an die Variable übergeben wurde.) Wäre mir zumindest wert zu erfahren, was es eigendlich bringt Pointers in seine Programmstruktur aufzunehmen...(schnellerer Datenzugriff?!?!?)
Wäre auch net, wenn sich jemand dafür breit schlagen könnte, mir über ein Chat (ICQ, IRC oder Mail möglich), durch eine Intensive Unterhaltung über C++, meine eventuellen Gedankenfehler auszumerzen (sofern ich welche hab). Habe 3 digitale Bücher mit insgesammt ca. 2500 Seiten Wissen über C++. DUrch das lesen, bin ich bei manchen Bereichen bei C++ ziemlich Verwirrt!
Thats for now
Please answear
Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge
Um es mal vereinfacht darzustellen, speichert man wie du es gerne möchtest, einen Wert A in den Variablen A1 B1 C1, so wird jeweils für alle drei Variablen eine Kopie des Wertes A erstellt, was auch dreimal den Speicherplatz von A verbraucht.
Möchte ich nun den Wert A in allen Variablen verändern, so muß man auf alle drei zugreifen (zeitkritisch).
Legt man sich aber statt den drei Variablen, drei Pointer an und übergibt diesen Drei die Speicheradresse von A, wird für A nur einmal Speicher verbraucht. Will man in einem Fall jetzt das sich A quasi in den drei PointerVariablen ändert, so braucht A nur an seiner Speicheradresse verändert werden, denn die Pointer in den Variablen zeigen ja alle auf diese Adresse!
Gerade wenn du 3D Games entwickelst, solltest du doch wissen wie wichtig es ist, keine zeitkritischen Routinen zu entwickeln.
Deswegen sind alle nennenswerten 3D Engines heute auch zu 80% in C++ mit ausgiebiger Pointeraritmethik entwickelt!
Oder vergleich mal den Speicherverbrauch zur Laufzeit eines in VB oder Delphi entwickelten Programms und eines was die gleiche Funktion erfüllt, in C++ mit Pointer Technik!