User Tools

Site Tools


cpp:stl:container_common_functions

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
cpp:stl:container_common_functions [2023/05/29 16:43] – [Εισαγωγή στοιχείου] gthanoscpp:stl:container_common_functions [2023/05/30 19:18] (current) – [Αναζήτηση σε associative container και unordered associative container] gthanos
Line 1: Line 1:
-====== Κοινές συναρτήσεις για όλους τους containers ======+====== Κοινές συναρτήσεις για περισσότερους του ενός containers ======
  
 ===== Εισαγωγή στοιχείου ===== ===== Εισαγωγή στοιχείου =====
  
 Με εξαίρεση την κλάση [[array|std::array]] που το μέγεθος των πινάκων που δημιουργεί είναι σταθερό και δηλώνεται κατά τη δήλωση του πίνακα, οι υπόλοιποι //containers// μπορούν να μεταβάλλουν το αριθμό των στοιχείων που αποθηκεύουν. Για την εισαγωγή ενός στοιχείου σε έναν //container// υπάρχουν οι συναρτήσεις //insert// για την εισαγωγή ενός αντιγράφου του στοιχείου στον container και //emplace// για την δημιουργία ενός αντικειμένου και εισαγωγή του στον //container//. Επιπλέον, μόνο για τους //sequence containers// η //insert// λαμβάνει ως πρώτο όρισμα έναν //iterator// που δηλώνει τη θέση εισαγωγής του στοιχείου στον container. Για τις υπόλοιπες κατηγορίες //containers//, η //insert// δε λαμβάνει ως πρώτο όρισμα έναν //iterator// (υπάρχουν περιπτώσεις που λαμβάνει, αλλά αυτό είναι ενδεικτικό και συνιστάται να αποφεύγετε τη χρήση του). Με εξαίρεση την κλάση [[array|std::array]] που το μέγεθος των πινάκων που δημιουργεί είναι σταθερό και δηλώνεται κατά τη δήλωση του πίνακα, οι υπόλοιποι //containers// μπορούν να μεταβάλλουν το αριθμό των στοιχείων που αποθηκεύουν. Για την εισαγωγή ενός στοιχείου σε έναν //container// υπάρχουν οι συναρτήσεις //insert// για την εισαγωγή ενός αντιγράφου του στοιχείου στον container και //emplace// για την δημιουργία ενός αντικειμένου και εισαγωγή του στον //container//. Επιπλέον, μόνο για τους //sequence containers// η //insert// λαμβάνει ως πρώτο όρισμα έναν //iterator// που δηλώνει τη θέση εισαγωγής του στοιχείου στον container. Για τις υπόλοιπες κατηγορίες //containers//, η //insert// δε λαμβάνει ως πρώτο όρισμα έναν //iterator// (υπάρχουν περιπτώσεις που λαμβάνει, αλλά αυτό είναι ενδεικτικό και συνιστάται να αποφεύγετε τη χρήση του).
- 
-<WRAP tip 80% center round> 
-Έχετε υπόψη σας ότι οποιοδήποτε αντικείμενο τοποθετήσετε μέσα σε ένα //container// θα δημιουργηθεί ένα αντίγραφο του συγκεκριμένου αντικειμένου μέσα στον //container//. Κατά συνέπεια, τα αντικείμενα που αποθηκεύονται είναι αντίγραφα των αντικειμένων που παρέχονται ως ορίσματα στις συνάρτηση εισαγωγής //insert// του //container//. 
-</WRAP> 
  
 Παραδείγματα: Παραδείγματα:
Line 125: Line 121:
  
   return 0;   return 0;
 +}
 </code> </code>
  
Line 268: Line 265:
   std::unordered_set<std::string> myset;   std::unordered_set<std::string> myset;
   std::unordered_set<std::string>::iterator it;   std::unordered_set<std::string>::iterator it;
-  char* word[] = { "sugar", "choco", "milk", "banana", "coffee" };+  std::string word[] = { "sugar", "choco", "milk", "banana", "coffee" };
  
   // unordered_set some initial values:   // unordered_set some initial values:
cpp/stl/container_common_functions.1685378604.txt.gz · Last modified: 2023/05/29 16:43 by gthanos