003
09.10.2009, 18:41 Uhr
0xdeadbeef
Gott (Operator)
|
Naja, eine sinnvolle Möglichkeit wäre, der Cell-Klasse einen Default-Parameter zu verpassen und die Werte zu setzen, nachdem das Array angefordert ist. Ansonsten geht das auch mit std::vector, solange Cell einen Kopierkonstruktor hat, also etwa so:
C++: |
#include <vector>
// ...
GOLModel::GOLModel(int size_x, int size_y) : size_x(size_x), size_y(size_y) { std::vector<std::vector<Cell> > table(size_x);
for(int i = 0; i < size_x; ++i) { table[i].reserve(size_y); for(int j = 0; j < size_y; ++j) { table[i].push_back(Cell(i, j)); } } }
|
Übrigens - wenn du das von Hand mit new[] machst, musst du darauf achten, dass du am Ende auch alles wieder mit delete[] freigibst, sonst hast du Speicherlöcher. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 09.10.2009 um 18:41 Uhr von 0xdeadbeef editiert. |