Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
1 2 |
MySampleClass *pointerOnSampleClass; pointerOnSampleClass = new MySampleClass[10]; |
C-/C++-Quelltext |
|
1 |
std::vector |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
class SampleClass { private: int someAttribute; public: SampleClass(int importantParameter) { someAttribute = importantParameter; } }; int main() { SampleClass **myArray; // Zeiger auf Zeiger auf eine SampleClass Instanz. Anders gesagt, Zeiger auf Adresse der Instanz, anders gesagt Adresse einer Variable mit der Adresse auf die Instanz der Klasse int arraySize = 12; myArray = new SampleClass[arraySize]; // Hier wird das Array der Größe "arraySize" erstellt. Das Array ist vom Typ Adresse von SampleClass. // An dieser Stelle ist zwar das Array korrekt erstellt worden, die Werte sind aber noch nicht sinnvoll. Bis jetzt haben wir ja noch keine Objekte erstellt deren Adresse im Array gespeichert werden können for(int i = 0; i < arraySize; i++) { myArray[i] = new SampleClass(i); // hier erstellen wir die einzelnen Instanzen. Dem Konstruktor übergebe ich als Beispiel einfach i. } // Hier ist das Array nun gefüllt // wichtig ist, wenn du den Speicher freigeben willst so musst du das erst für die einzelnen Instanzen und dann für das Array selbst tun, also: for(int i = 0; i < arraySize; i++) { delete myArray[i]; } delete[] myArray; return 0; } |
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
C-/C++-Quelltext |
|
1 2 3 4 |
SampleClass **myArray; // Warum zwei Zeiger, da komme ich noch nicht mit!? Aber vieleicht sind meine grundkenntnisse dafür auch noch zu rudimentär. int arraySize = 12; myArray = new SampleClass[arraySize]; // Wird hier der Konstruktor initialisiert oder erst in deiner for Schleife? |
Werbeanzeige