cpp:stl:array

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
cpp:stl:array [2020/05/27 16:00]
gthanos [Πρόσβαση στα στοιχεία του πίνακα]
cpp:stl:array [2020/05/29 10:24]
gthanos [std::array]
Line 1: Line 1:
 ====== std::array ====== ====== std::array ======
  
-Πρόκειται για μία δομή πίνακα συγκεκριμένου μεγέθους. Όταν ορίζετε τον πίνακα τύπο δεδομένων που θα αποθηκεύσει ο πίνακας καλείστε να ορίσετε και το μέγεθος του.+Πρόκειται για μία δομή πίνακα του οποίου το μέγεθος ορίζεται κατά τη δήλωση του πίνακα και παραμένει αμετάβλητο. Μπορείτε να διατρέξετε το πίνακα χρησιμοποιώντας //iterators// ή με χρήση for που γνωρίζεται από τη γλώσσα C.
  
 ===== Ορισμός και διάτρεξη πίνακα ===== ===== Ορισμός και διάτρεξη πίνακα =====
Line 36: Line 36:
   }   }
   std::cout << '\n';   std::cout << '\n';
 +}
 +</code>
 +
 +<code cpp array_for.cpp>
 +#include <iostream>
 +#include <array>
 +using namespace std;
 +
 +int main () {
 +  std::array<int,6> myarray = {10, 20, 30, 40, 50, 60} ;
 +
 +  for(int i=0; i<myarray.size(); i++)
 +    std::cout << ' ' << myarray[i];
 +  std::cout << endl;
 } }
 </code> </code>
Line 56: Line 70:
 </code> </code>
  
-Παρατηρούμε ότι στον παραπάνω κώδικα η πρόσβαση εκτός ορίων παράγει τερματισμό του προγράμματος μέσω segmentation fault. Εάν θέλουμε να μπορούμε να ελέγχουμε τις πιθανές λανθασμένες προσπελάσεις μέσω της διαχείρισης ενός exception υπάρχει η ισοδύναμη συνάρτηση [[http://www.cplusplus.com/reference/array/array/at/|at]] η οποία σε περιπτώσεις πρόσβασης εκτός ορίων πετάει exception του τύπου ''std::out_of_range'' το οποίο καλούμαστε να διαχειριστούμε.+Παρατηρούμε ότι στον παραπάνω κώδικα η πρόσβαση εκτός ορίων παράγει τερματισμό του προγράμματος μέσω segmentation fault. Εάν θέλουμε να μπορούμε να ελέγχουμε τις πιθανές λανθασμένες προσπελάσεις μέσω της διαχείρισης ενός exception υπάρχει η ισοδύναμη συνάρτηση [[http://www.cplusplus.com/reference/array/array/at/|at]] η οποία σε περιπτώσεις πρόσβασης εκτός ορίων πετάει exception του τύπου ''std::out_of_range''το οποίο στη συνέχεια καλούμαστε να διαχειριστούμε.
  
 <code cpp array_access_at.cpp> <code cpp array_access_at.cpp>
cpp/stl/array.txt · Last modified: 2021/06/06 19:56 (external edit)