ich arbeite mich momentan durch die XoaX.net C++ Reihe und ergänze nebenbei durch andere Videos von Youtube.
Bin zwar schon an Pointern vorbei, aber hab glaub ich mittlerweile den Sinn verstanden. Trotzdem möchte ich meine Vermutung "absichern".
Ich dachte immer, wofür Pointer?
Ich habe jetzt mal folgendes Beispiel geschrieben:
Code:
#include <iostream> void changeName(char* newname); char caString[12] = "ElitePvPers"; int main(){ using namespace std; cout << caString << endl; char caOldString[10] = "HalloWelt"; changeName(caOldString); cout << caString << endl; return 0; } void changeName(char* newname){ strcpy(caString, newname); }
Code:
#include <iostream> void changeName(char newname[10]); char caString[12] = "ElitePvPers"; int main(){ using namespace std; cout << caString << endl; char caOldString[10] = "HalloWelt"; changeName(caOldString); cout << caString << endl; return 0; } void changeName(char newname[10]){ strcpy(caString, newname); }
Jetzt zu meiner Frage:
1) Ist es richtig, dass der Vorteil des Beispiels mit Pointern darin liegt, dass weniger Speicher verbraucht wird, weil nur die Adresse des caOldString übergeben wird anstatt die ganze Variable nochmal?
2) Kann man den Speicherverbrauch der beiden Programme irgendwie sichtbar machen? Bei so kleinen Programmen ist das ja ein kleiner Unterschied, aber gibt es Programme (vielleicht auch Tools in VisualStudio), mit denen ich den exakten Speicherverbrauch sehen kann? Würde das mal gerne auch später bei größeren Programmen beobachten, inwiefern sich Optimierungen auswirken. Finde das sehr interessant^^
Würde mich über Antworten freuen
Greetz