Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék

Hasonló előadás


Az előadások a következő témára: "Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék"— Előadás másolata:

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)


Letölteni ppt "Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék"

Hasonló előadás


Google Hirdetések