Witam, ostatnio wróciłem do tematu wskaźników bo prawie wszystko zapomniałem. Teraz jednak uparłem się że zrobię dynamiczną tablice 3D... Jak dla mnie działa wszystko ok, jednak nie jestem w 100% pewny. Testowałem ją ale już nie raz natknąłem się na niespodzianki. Zresztą właściwa część pytania będzie zaraz, oto kod:
//utworzenie jej
int ***array3D = new int**[3];
for (int i = 0; i < 3; i++) {
array3D[i] = new int*[3];
}
for (int i = 0; i < 3; i++){
for (int j = 0; j < 3; j++) {
array3D[i][j] = new int[3];
}
}
//praca na niej - to raczej dobrze :)
int c = 1;
for (int x = 0; x < 3; x++) {
for (int y = 0; y < 3; y++) {
for (int z = 0; z < 3; z++) {
if (c > 9)c = 1;
array3D[x][y][z] = c;
cout << array3D[x][y][z] << " ";
c++; //od słowa counter... ale fajny zbieg okoliczności
}
cout << endl;
}
cout << endl;
}
//usuwanie jej - tu najbardziej mam wątpliwości...
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
delete array3D[i][j];
}
}
delete array3D;
Czy według was jest to w miarę elegancko zrobione? chciałem jeszcze przećwiczyć czwarty wymiar ale już w tym się gubiłem... Korzystają zazwyczaj programiści z takich tablic czy prędzej tworzy się własne struktury danych lub robi użytek z tych obecnych (vector, list, array, set itd...)? Dziękuje za wszelkie odpowiedzi i pozdrawiam serdecznie :)