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/29 08:13] – removed gthanos
Line 1: Line 1:
-====== Κοινές συναρτήσεις για όλους τους containers ====== 
- 
-==== Εισαγωγή στοιχείου σε container ==== 
- 
-Με εξαίρεση την κλάση [[array|std::array]] που το μέγεθος των πινάκων που δημιουργεί είναι σταθερό και δηλώνεται κατά τη δήλωση του πίνακα, οι υπόλοιποι //containers// μπορούν να μεταβάλλουν το αριθμό των στοιχείων που αποθηκεύουν. Για την εισαγωγή ενός στοιχείου σε έναν //container// υπάρχουν οι συναρτήσεις //insert// για την εισαγωγή ενός αντιγράφου του στοιχείου στον container και //emplace// για την δημιουργία ενός αντικειμένου και εισαγωγή του στον //container.  
- 
-Επιπλέον, μόνο για τους //sequence containers// η //insert// λαμβάνει ως πρώτο όρισμα έναν //iterator// που δηλώνει τη θέση εισαγωγής του στοιχείου στον container. 
- 
-Παραδείγματα: 
- 
-<code cpp student_list_insert.cpp> 
-#include <iostream>     // std::cout 
-#include <algorithm>    // std::copy 
-#include <list>       // std::list 
-#include "Student.hpp" 
- 
-int main () { 
-  Student students[] = { Student("Peter_Pan", 1234), Student("Tinker_Bell", 1235) }; 
-                           
-  std::cerr << "----- Init list -----" << std::endl; 
-  std::list<Student> mylist; 
-  for(int i=0; i<2; i++) { 
-    mylist.insert(mylist.begin(),students[i]);  // copy-constructor, insert first 
-    mylist.insert(mylist.end(),students[i]);    // copy-constructor, insert last 
-  } 
-   
-  mylist.emplace(mylist.end(), "Mickey_Mouse", 1237);  // argument construct, insert last 
-   
-  std::cerr << "-------------------------\n"; 
-  std::cerr << "mylist contains:"; 
-  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> 
  
cpp/stl/containers.txt · Last modified: 2022/05/26 16:49 by gthanos