Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
cpp:stl:containers [2021/06/06 07:42] – gthanos | cpp:stl:containers [2021/06/06 07:50] – [Προσδιορισμός εύρους στοιχείων] gthanos |
---|
==== Προσδιορισμός εύρους στοιχείων ==== | ==== Προσδιορισμός εύρους στοιχείων ==== |
| |
Όταν στην STL προσδιορίζεται ένα εύρος στοιχείων εντός ενός //container// μεταξύ των υποτιθέμενων θέσεων //**start**// και //**stop**// ( οι θέσεις αυτές προσδιορίζονται πάντοτε από //iterators//), το διάστημα το οποιό υπολογίζεται είναι από //**start**// (συμπεριλαμβανομένου) έως και //**stop**// (μη συμπεριλαμβανομένου), ισοδύναμα: **[start, stop)**. Η παρακάτω εικόνα περιγράφει το διάστημα μεταξύ των θέσεων //start=1// και //stop//=6 ενός πίνακα. Το προσδιορισθέν διάστημα είναι από //start// έως και //stop-1//, δηλαδή από 1 έως και 5 (με πράσινο χρώμα). | Όταν στην STL προσδιορίζεται ένα εύρος στοιχείων εντός ενός //container// μεταξύ των υποτιθέμενων θέσεων //**start**// και //**stop**// ( οι θέσεις αυτές προσδιορίζονται πάντοτε από //iterators//), το διάστημα το οποίο υπολογίζεται είναι από //**start**// (συμπεριλαμβανομένου) έως και //**stop**// (μη συμπεριλαμβανομένου), ισοδύναμα: **[start, stop)**. Η παρακάτω εικόνα περιγράφει το διάστημα μεταξύ των θέσεων //start=1// και //stop//=6 ενός πίνακα. Το προσδιορισθέν διάστημα είναι από //start// έως και //stop-1//, δηλαδή από 1 έως και 5 (με πράσινο χρώμα). |
| |
{{ :cpp:stl:stl_range.png?400 |}} | {{ :cpp:stl:stl_range.png?400 |}} |
for (std::array<int,SIZE>::iterator it = myarray.begin(); it!=myarray.end(); ++it) | for (std::array<int,SIZE>::iterator it = myarray.begin(); it!=myarray.end(); ++it) |
std::cerr << ' ' << *it; | std::cerr << ' ' << *it; |
std::cerr << std::endl; // myarray: 1 2 3 4 5 6 7 8 9 | std::cerr << std::endl; // myarray: 1 2 3 4 5 6 7 8 9 10 |
| |
std::list<int> mylist; | std::list<int> mylist; |
mylist.assign(myarray.cbegin() + 1, myarray.cbegin() + 4); | mylist.assign(myarray.cbegin() + 1, myarray.cbegin() + 4); // copy array positions 1, 2 and 3 |
std::cerr << "mylist contains:"; | std::cerr << "mylist contains:"; |
for (std::list<int>::iterator it = mylist.begin(); it!=mylist.end(); ++it) | for (std::list<int>::iterator it = mylist.begin(); it!=mylist.end(); ++it) |
std::cerr << ' ' << *it; | std::cerr << ' ' << *it; |
std::cerr << std::endl; // mylist: 2 3 4 | std::cerr << std::endl; // mylist: 2 3 4 |
| |
return 0; | return 0; |