Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaBrigitta Csonkané Megváltozta több, mint 10 éve
1
Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék
Az STL könyvtár Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék Ficsor Lajos A C++ programozási nyelv 10. (STL)
2
A C++ programozási nyelv 10. (STL)
Az STL STL: Standard Template Library Az ANSI C++ szabvány része Feladata: a leggyakoribb absztrakt adatszerkezetek kezelése Részei: container-ek algoritmusok iterátorok Ficsor Lajos A C++ programozási nyelv 10. (STL)
3
A C++ programozási nyelv 10. (STL)
A container fogalma A container olyan osztály, amely objektumokat tartalmazó szerkezetet definiál. Az STL-ben a container-ek célja absztrakt adatszerkezetek modellezése. Ficsor Lajos A C++ programozási nyelv 10. (STL)
4
Algoritmus és iterátor fogalma
Az algoritmusok olyan műveletek, amelyek adatszerkezettől függetlenül megfogalmazhatók. Az iterátor olyan osztály, amelynek célja egy adatszerkezet elemeinek elérése. Az iterátor teszi lehetõvé a container-ek és az algoritmusok függetlenítését. Ficsor Lajos A C++ programozási nyelv 10. (STL)
5
Container, algoritmus és iterátor 1.
Ficsor Lajos A C++ programozási nyelv 10. (STL)
6
Container, algoritmus és iterátor 2.
Ficsor Lajos A C++ programozási nyelv 10. (STL)
7
Container-ek az STL-ben
bitset deque list map multimap set multiset priority-queue stack vector Ficsor Lajos A C++ programozási nyelv 10. (STL)
8
A C++ programozási nyelv 10. (STL)
Iterátorok Egy iterátor objektumra mindig alkalmazható az indirekció operátor (*) fajtájától függően a pointer-aritmetika különböző elemei. Hierarchiába rendezhetők Ficsor Lajos A C++ programozási nyelv 10. (STL)
9
Iterátorokkal végezhető műveletek
A hierarchiában feljebb lévő iterátor használható egy lejjebb lévő helyett. A C pointer egy Random access iterátor Ficsor Lajos A C++ programozási nyelv 10. (STL)
10
A C++ programozási nyelv 10. (STL)
Algoritmusok 1. Olyan függvény-template-ek, amelyek általában iterátor típusú és egyéb paramétereket várnak. Pl: template <class InputIterator, class T> InputIterator find(InputIterator first, InputIterator last, const T value ) { while( first != last && *first != value ) ++first; return first; } Ficsor Lajos A C++ programozási nyelv 10. (STL)
11
A C++ programozási nyelv 10. (STL)
Algoritmusok 2. Mivel minden pointer iterátor, ez a függvény akár egy egész tömbre is alkalmazható: int* a = new int[100]; int* hely; hely = find( a, a + 10, 1000 ); Ficsor Lajos A C++ programozási nyelv 10. (STL)
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.