This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
cpp:dynamic_memory [2017/04/11 10:19] gthanos |
cpp:dynamic_memory [2017/06/08 06:22] gthanos |
||
|---|---|---|---|
| Line 51: | Line 51: | ||
| ===== Έλεγχος δέσμευσης μνήμης ===== | ===== Έλεγχος δέσμευσης μνήμης ===== | ||
| - | Κατά τη δέσμευση μνήμης δεν είναι απαραίτητο να γίνονται οι έλεγχοι για το κατά πόσο η δέσμευση απέτυχε. Στην περίπτωση που η δέσμευση μνήμης αποτύχει τότε παράγεται ένα // | + | Κατά τη δέσμευση μνήμης δεν είναι απαραίτητο να γίνονται οι έλεγχοι για το κατά πόσο η δέσμευση απέτυχε. Στην περίπτωση που η δέσμευση μνήμης αποτύχει τότε παράγεται ένα // |
| <code c++ dynamicMemory.cpp> | <code c++ dynamicMemory.cpp> | ||
| Line 80: | Line 80: | ||
| </ | </ | ||
| + | ===== Παράδειγμα δέσμευσης μνήμης για την αρχικοποίηση ενός διδιάστατου πίνακα ===== | ||
| + | |||
| + | <code cpp dynamicMemory2D.cpp> | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | using namespace std; | ||
| + | |||
| + | int main(int argc, char *argv[]) { | ||
| + | int **array2d, rows, columns; | ||
| + | | ||
| + | cout << "Enter number of rows: "; | ||
| + | cin >> rows; | ||
| + | | ||
| + | cout << "Enter number of columns: "; | ||
| + | cin >> columns; | ||
| + | | ||
| + | array2d = new (nothrow) int*[rows]; | ||
| + | if(array2d == NULL) { | ||
| + | cerr < " | ||
| + | return -1; | ||
| + | } | ||
| + | for(int i=0; i<rows; i++) { | ||
| + | array2d[i] = new (nothrow) int[columns]; | ||
| + | if(array2d[i] == NULL) { | ||
| + | cerr < " | ||
| + | return -1; | ||
| + | } | ||
| + | } | ||
| + | | ||
| + | for(int i=0; i<rows; i++) { | ||
| + | for(int j=0; j< | ||
| + | array2d[i][j] = i+j; | ||
| + | cout << array2d[i][j] << " | ||
| + | } | ||
| + | cout << endl; | ||
| + | } | ||
| + | | ||
| + | for(int i=0; i<rows; i++) | ||
| + | delete[] array2d[i]; | ||
| + | delete[] array2d; | ||
| + | } | ||
| + | </ | ||