User Tools

Site Tools


cpp:stl:containers

Differences

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

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
cpp:stl:containers [2020/05/28 15:16] – created gthanoscpp:stl:containers [2020/05/28 15:24] – [Εισαγωγή στοιχείου σε container] gthanos
Line 3: Line 3:
 ==== Εισαγωγή στοιχείου σε 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.+
  
 Παραδείγματα: Παραδείγματα:
Line 12: Line 10:
 #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"
  
Line 30: Line 28:
   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;
cpp/stl/containers.txt · Last modified: 2022/05/26 16:49 by gthanos