Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
cpp:stl:containers [2020/05/29 15:47] – [Standard Template Library (STL)] gthanos | cpp:stl:containers [2020/05/30 18:49] – [Αντιγραφή των στοιχείων προς ένθεση μέσα σε ένα Container] gthanos |
---|
=== Χρήση Copy-Constructor ή άλλου κατασκευαστή === | === Χρήση Copy-Constructor ή άλλου κατασκευαστή === |
| |
Κατά την ένθεση ενός στοιχείου σε ένα //container//, δημιουργείται πάντοτε ένα αντίγραφο του στοιχείου σε αυτόν. Για παράδειγμα, για την ένθεση στοιχείων της κλάσης [[student|Student]] μέσα σε ένα //container list// τα στοιχεία θα αντιγραφούν εντός του //list// στο τέλος της λίστας (οι μέθοδοι //insert_back// και //emplace_back// εισάγουν στο τέλος της λίστας) ως εξής: | Κατά την ένθεση ενός στοιχείου σε ένα //container//, δημιουργείται πάντοτε ένα αντίγραφο του στοιχείου σε αυτόν. Για παράδειγμα, για την ένθεση στοιχείων της κλάσης [[https://courses.e-ce.uth.gr/ECE326/doku.php?do=export_code&id=cpp:templates&codeblock=0|Student]] μέσα σε ένα //container list// τα στοιχεία θα αντιγραφούν εντός του //list// στο τέλος της λίστας (οι μέθοδοι //insert_back// και //emplace_back// εισάγουν στο τέλος της λίστας) ως εξής: |
| |
<code cpp student_list.cpp> | <code cpp student_list.cpp> |
Δείτε το παρακάτω παράδειγμα, όπου αντιγράφονται τα περιεχόμενα του πίνακα //array// αρχικά στον πίνακα //myarray// και στη συνέχεια ένα μέρος από αυτά στη λιστα //mylist//. | Δείτε το παρακάτω παράδειγμα, όπου αντιγράφονται τα περιεχόμενα του πίνακα //array// αρχικά στον πίνακα //myarray// και στη συνέχεια ένα μέρος από αυτά στη λιστα //mylist//. |
| |
<code cpp int_copy.cpp> | <code cpp int_range.cpp> |
#include <iostream> // std::cout | #include <iostream> // std::cout |
#include <list> // std::list | #include <list> // std::list |