Next revision | Previous revisionNext revisionBoth sides next revision |
cpp:stl:containers [2020/05/28 15:16] – created gthanos | cpp:stl:containers [2020/05/28 15:24] – [Εισαγωγή στοιχείου σε container] gthanos |
---|
==== Εισαγωγή στοιχείου σε container ==== | ==== Εισαγωγή στοιχείου σε container ==== |
| |
Με εξαίρεση την κλάση [[array|std::array]] που το μέγεθος των πινάκων που δημιουργεί είναι σταθερό και δηλώνεται κατά τη δήλωση του πίνακα, οι υπόλοιποι //containers// μπορούν να μεταβάλλουν το αριθμό των στοιχείων που αποθηκεύουν. Για την εισαγωγή ενός στοιχείου σε έναν //container// υπάρχουν οι συναρτήσεις //insert// για την εισαγωγή ενός αντιγράφου του στοιχείου στον container και //emplace// για την δημιουργία ενός αντικειμένου και εισαγωγή του στον //container. | Με εξαίρεση την κλάση [[array|std::array]] που το μέγεθος των πινάκων που δημιουργεί είναι σταθερό και δηλώνεται κατά τη δήλωση του πίνακα, οι υπόλοιποι //containers// μπορούν να μεταβάλλουν το αριθμό των στοιχείων που αποθηκεύουν. Για την εισαγωγή ενός στοιχείου σε έναν //container// υπάρχουν οι συναρτήσεις //insert// για την εισαγωγή ενός αντιγράφου του στοιχείου στον container και //emplace// για την δημιουργία ενός αντικειμένου και εισαγωγή του στον //container//. Επιπλέον, μόνο για τους //sequence containers// η //insert// λαμβάνει ως πρώτο όρισμα έναν //iterator// που δηλώνει τη θέση εισαγωγής του στοιχείου στον container. |
| |
Επιπλέον, μόνο για τους //sequence containers// η //insert// λαμβάνει ως πρώτο όρισμα έναν //iterator// που δηλώνει τη θέση εισαγωγής του στοιχείου στον container. | |
| |
Παραδείγματα: | Παραδείγματα: |
#include <iostream> // std::cout | #include <iostream> // std::cout |
#include <algorithm> // std::copy | #include <algorithm> // std::copy |
#include <list> // std::list | #include <list> // std::list |
#include "Student.hpp" | #include "Student.hpp" |
| |
std::cerr << "mylist contains:"; | std::cerr << "mylist contains:"; |
for (std::list<Student>::iterator it = mylist.begin(); it!=mylist.end(); ++it) | for (std::list<Student>::iterator it = mylist.begin(); it!=mylist.end(); ++it) |
| std::cerr << ' ' << *it; |
| std::cerr << std::endl; |
| std::cerr << "-------------------------\n"; |
| |
| return 0; |
| } |
| </code> |
| |
| <code cpp string_set_insert.cpp> |
| #include <iostream> // std::cout |
| #include <algorithm> // std::copy |
| #include <set> // std::set |
| #include <string> |
| |
| int main () { |
| std::string strings[] = { std::string("gamma"), std::string("beta"), std::string("delta") }; |
| |
| std::cerr << "----- Init set -----" << std::endl; |
| std::set<std::string> myset; |
| for(int i=0; i<3; i++) |
| myset.insert(strings[i]); |
| |
| myset.emplace("alpha"); // argument construct, insert last |
| |
| std::cerr << "-------------------------\n"; |
| std::cerr << "myset contains:"; |
| for (std::set<std::string>::iterator it = myset.begin(); it!=myset.end(); it++) |
std::cerr << ' ' << *it; | std::cerr << ' ' << *it; |
std::cerr << std::endl; | std::cerr << std::endl; |