cpp:stl:array
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| cpp:stl:array [2020/05/27 15:47] – gthanos | cpp:stl:array [Unknown date] (current) – external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== std::array ====== | ====== std::array ====== | ||
| - | Πρόκειται για μία δομή πίνακα | + | Πρόκειται για μία δομή πίνακα |
| + | |||
| + | ===== Επίδοση | ||
| + | |||
| + | * Η πράξη της ένθεσης ή της διαγραφής από | ||
| + | * Η πράξη της ένθεσης ή της | ||
| + | * Η πράξη της αναζήτησης είναι γραμμική στο μέγεθος | ||
| + | * Η πρόσβαση στο i-στο στοιχείο του πίνακα έχει κόστος 1. | ||
| ===== Ορισμός και διάτρεξη πίνακα ===== | ===== Ορισμός και διάτρεξη πίνακα ===== | ||
| Line 36: | Line 44: | ||
| } | } | ||
| std::cout << ' | std::cout << ' | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | <code cpp array_for.cpp> | ||
| + | #include < | ||
| + | #include < | ||
| + | using namespace std; | ||
| + | |||
| + | int main () { | ||
| + | std:: | ||
| + | |||
| + | for(int i=0; i< | ||
| + | std::cout << ' ' << myarray[i]; | ||
| + | std::cout << endl; | ||
| } | } | ||
| </ | </ | ||
| Line 41: | Line 63: | ||
| ===== Πρόσβαση στα στοιχεία του πίνακα ===== | ===== Πρόσβαση στα στοιχεία του πίνακα ===== | ||
| - | <code cpp array_access.cpp> | + | <code cpp array_access_op[].cpp> |
| #include < | #include < | ||
| #include < | #include < | ||
| Line 55: | Line 77: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | Παρατηρούμε ότι στον παραπάνω κώδικα η πρόσβαση εκτός ορίων παράγει τερματισμό του προγράμματος μέσω segmentation fault. Εάν θέλουμε να μπορούμε να ελέγχουμε τις πιθανές λανθασμένες προσπελάσεις μέσω της διαχείρισης ενός exception υπάρχει η ισοδύναμη συνάρτηση [[http:// | ||
| + | |||
| + | <code cpp array_access_at.cpp> | ||
| + | #include < | ||
| + | #include < | ||
| + | using namespace std; | ||
| + | |||
| + | int main () { | ||
| + | array< | ||
| + | |||
| + | myarray[5] = 600; | ||
| + | cout << " | ||
| + | try { | ||
| + | myarray.at(10) = 1; | ||
| + | cout << " | ||
| + | } catch(std:: | ||
| + | cout << ex.what() << endl; | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
cpp/stl/array.1590594469.txt.gz · Last modified: 2020/05/27 14:47 (external edit)
