2016-06-03 17 views
-3

Also möchte ich ein Objekt in ein 2-dimensionales Array platzieren. Ich tat dies. Ich wollte 26 Zeilen und 30 Spalten. Wann immer ich anhängen würde. Zum Beispiel array[0][0] = zu einem Objekt der Klasse Object. Es würde setzen array[0][1], array[0][2], array[0][3], und so weiter auf die gleichen Details von array[0][0]. Ich möchte, dass das Objekt genau dorthin fährt, wo ich es hingebe und nicht auf den Rest seiner Reihe. Ordne ich den Speicher falsch zu?Erstellen eines zweidimensionalen Objektarrays

class Object{ 
    string Name 
} 

main()... 
Object** array= new Object*[26]; 
for (int i = 0; i < 26; ++i) 
{ 
    array[i] = new Object[30]; 
} 
+1

Warum Array ist von Profil und Objekttyp ... – HadeS

+0

Ich habe mich entschuldigt ich wollte Wörter verallgemeinern, vergessen, diese zu ändern. – chickenninja565

+0

Ihre Zuweisung sollte in Ordnung sein, aber Sie werden nicht in der Lage sein, Dinge wie 'array [1] [2]' zu tun. Warum machst du nicht einfach ein 'Objekt-Array [26] [30];' stattdessen? –

Antwort

0

Ja, das sieht richtig aus. Es muss darauf hingewiesen werden, dass es sich um ein Array von Zeigern (oder dynamischen Arrays) handelt. Denken Sie daran, den Speicher anschließend zu bereinigen. Auch mit mehr als 26x30 ist die Leistung nicht gut. Versuche kreativ zu sein.

+0

Wenn ich den Speicher von array[0][1] and array[0][2] ausdrucken, sind sie genau die gleichen und so weiter die gleichen Daten generieren. Warum das? Ich habe das mit Stichen gemacht und funktioniert gut. – chickenninja565

+0

Sie verwenden hier dynamisches Array. Sie drucken die Adresse des Zeigers aus. Probiere dieses "array [0] [1] -> name" und schau was passiert. –

Verwandte Themen