Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Przestrzenie nazw, strumienie. Przestrzenie nazw Przestrzeń nazw – co to takiego? Przestrzeń nazw – co to takiego?namespace Kiedy potrzebujemy przestrzeni.

Podobne prezentacje


Prezentacja na temat: "Przestrzenie nazw, strumienie. Przestrzenie nazw Przestrzeń nazw – co to takiego? Przestrzeń nazw – co to takiego?namespace Kiedy potrzebujemy przestrzeni."— Zapis prezentacji:

1 Przestrzenie nazw, strumienie

2 Przestrzenie nazw Przestrzeń nazw – co to takiego? Przestrzeń nazw – co to takiego?namespace Kiedy potrzebujemy przestrzeni nazw? Kiedy potrzebujemy przestrzeni nazw?

3 Przestrzenie nazw - używanie namespace moja { void printf(int); class plik; void fprintf(const plik&, int); }moja::printf(44); moja::plik plikwe; fprintf(plikwe, 31415323);// wystarczy, że jeden z argumentów // należy do przestrzeni moja, aby funkcja // fprintf była najpierw szukana w przestrzni moja // (reguła wyszukiwania Koeniga)

4 Przestrzenie nazw - używanie Przestrzenie nazw można dowolnie rozszerzać i łączyć Przestrzenie nazw można dowolnie rozszerzać i łączyć w jednym pliku w jednym pliku w kilku plikach w kilku plikach Nazwę (lub wszystkie nazwy) z przestrzeni nazw można przenieść na globalny (lokalny) poziom widoczności Nazwę (lub wszystkie nazwy) z przestrzeni nazw można przenieść na globalny (lokalny) poziom widoczności using moja::plik; using moja::plik; using namespace moja; using namespace moja; Nie używaj using w plikach nagłówkowych! Nie używaj using w plikach nagłówkowych! dlaczego? dlaczego? używaj kwalifikacji nazwa_namespace::nazwa_z_namespace! używaj kwalifikacji nazwa_namespace::nazwa_z_namespace!

5 Przestrzenie nazw – std:: W przestrzeni nazw std:: zdefiniowana jest Biblioteka Standardowa C++ W przestrzeni nazw std:: zdefiniowana jest Biblioteka Standardowa C++ klasy strumieniowe klasy strumieniowe klasy łańcuchowe klasy łańcuchowe STL STL Dawniej używano nagłówków (obsolete): „*.h”, „*.hpp”, „*.hxx” Dawniej używano nagłówków (obsolete): „*.h”, „*.hpp”, „*.hxx” Znacząco rozszerzona w standardzie C++11 (głównie część STL) Znacząco rozszerzona w standardzie C++11 (głównie część STL) Rozszerzenia języka i bibliotek C++11 nie są jeszcze w pełni wspierane przez kompilatory; wykład o C++11 na przedmiocie MiNWO poświęcony będzie nowemu standardowi C++ Rozszerzenia języka i bibliotek C++11 nie są jeszcze w pełni wspierane przez kompilatory; wykład o C++11 na przedmiocie MiNWO poświęcony będzie nowemu standardowi C++

6 Książki o STL i bibliotece standardowej C++ Nicolai M. Josuttis: C++ Standard Library: A tutorial and Reference, 1st, Pearson 1999, Nicolai M. Josuttis: C++ Standard Library: A tutorial and Reference, 1st, Pearson 1999, przykłady: http://www.josuttis.com/libbook/examples.zip (Polska wersja: Nicolai M. Josuttis: C++ Biblioteka standardowa Podręcznik Programisty, Helion 2003, przykłady: ftp://ftp.helion.pl/przyklady/cpbspp.zip) (Polska wersja: Nicolai M. Josuttis: C++ Biblioteka standardowa Podręcznik Programisty, Helion 2003, przykłady: ftp://ftp.helion.pl/przyklady/cpbspp.zip) Nicolai M. Josuttis: C++ Standard Library: A tutorial and Reference, 2nd, Addison Wesley Longman 2012, (uwzględnia standard C++11) Nicolai M. Josuttis: C++ Standard Library: A tutorial and Reference, 2nd, Addison Wesley Longman 2012, (uwzględnia standard C++11) Grębosz J.: Pasja C++, RM, W-wa Grębosz J.: Pasja C++, RM, W-wa Inne (wspomniane na pierwszym wykładzie o C++, w tym ANSI/ISO C++ standard) Inne (wspomniane na pierwszym wykładzie o C++, w tym ANSI/ISO C++ standard)

7 Standardowe wejście/wyjście C++ Biblioteka IOStream (iostream) Biblioteka IOStream (iostream) najstarsza część biblioteki standardowej najstarsza część biblioteki standardowej opracowana przez AT&T opracowana przez AT&T obsługa lokalizacji obsługa lokalizacji obsługa typów obsługa typów char * (zgodność z wczesnymi implementacjami) char * (zgodność z wczesnymi implementacjami) string string iostream to biblioteka wzorców z obsługą sytuacji wyjątkowych iostream to biblioteka wzorców z obsługą sytuacji wyjątkowych

8 Biblioteka IOStream – podstawy Klasy Klasy strumień wejściowy istream (wywiedziony ze wzorca: basic_istream ) strumień wejściowy istream (wywiedziony ze wzorca: basic_istream ) strumień wyjściowy ostream (wywiedziony ze wzorca: basic_ostream ) strumień wyjściowy ostream (wywiedziony ze wzorca: basic_ostream )

9 Biblioteka IOStream – podstawy Obiekty (nagłówek: Obiekty (nagłówek: istream cin; //stdin, buforowany istream cin; //stdin, buforowany ostream cout; //stdout, buforowany ostream cout; //stdout, buforowany ostream cerr; //stderr, niebuforowany ostream cerr; //stderr, niebuforowany //skojarzony z konsolą ostream clog; //bez odp. w C, buforowany ostream clog; //bez odp. w C, buforowany //skojarzony z konsolą

10 Biblioteka IOStream – podstawy Operatory > Operatory > przeciążone dla typów podstawowych, w tym char *, void *, bool, przeciążone dla typów podstawowych, w tym char *, void *, bool, można przeciążać dla własnych klas. można przeciążać dla własnych klas. istream is; ostream os; int i; double d; os >i; os >d; os >i>>d; cout >i>>d; cout<< "\ni wynosi " << i << " a d to " << d << " \n";

11 Biblioteka IOStream – podstawy Manipulatory Manipulatory to są obiekty zdefiniowane aby modyfikować domyślne zachowanie strumienia (np. formatowanie), wyprowadzić znak końca wiersza itp. to są obiekty zdefiniowane aby modyfikować domyślne zachowanie strumienia (np. formatowanie), wyprowadzić znak końca wiersza itp. programista może definiować własne manipulatory programista może definiować własne manipulatory endl //koniec wiersza i wyczyszczenie (flush()) bufora strumienia cout<< "\ni wynosi " << i << " a d to " << d << endl; ends// "\0"; ws// dla istream pobierz (pomiń) białe znaki flush dec, hex, oct

12 Biblioteka IOStream – szczegóły ios_base basic_streambuf<> basic_streambuf<>basic_ios<> virtual virtual basic_istream<> basic_ostream<> basic_iostream<> basic_iostream<>

13 Biblioteka IOStream – szczegóły ios_base wspólny interfejs klas strumieni w zakresie niezależnym od typu elementów strumienia wspólny interfejs klas strumieni w zakresie niezależnym od typu elementów strumienia definicja stanu strumienia definicja stanu strumienia format przetwarzanych danyc format przetwarzanych danyc

14 Biblioteka IOStream – szczegóły basic_ios<> wspólny interfejs klas strumieni w zakresie zależnym od typu elementów strumienia wspólny interfejs klas strumieni w zakresie zależnym od typu elementów strumienia definicja bufora danych strumienia (klasa pochodna wzorca basic_streambuf<> dla konkretnego typu elementów strumienia, wraz z definicjami operacji faktycznego odczytu/zapisu danych) definicja bufora danych strumienia (klasa pochodna wzorca basic_streambuf<> dla konkretnego typu elementów strumienia, wraz z definicjami operacji faktycznego odczytu/zapisu danych)

15 Biblioteka IOStream – szczegóły basic_istream<>basic_ostream<> wzorce obiektów odpowiednio tylko do odczytu/zapisu wzorce obiektów odpowiednio tylko do odczytu/zapisu dziedziczą wirtualnie wzorzec basic_ios<> dziedziczą wirtualnie wzorzec basic_ios<> dla argumentu char wywiedzione są klasy odpowiednio istream i ostream dla argumentu char wywiedzione są klasy odpowiednio istream i ostream nagłówki odpowiednio i nagłówki odpowiednio i

16 Biblioteka IOStream – szczegóły basic_iostream<> wzorce obiektów do odczytu i zapisu wzorce obiektów do odczytu i zapisu nagłówek nagłówek

17 Biblioteka IOStream – szczegóły rezultat operacji strumieniowych rezultat operacji strumieniowych stan strumienia (widoczny w zakresie klasy ios_base, stałe typu iostate) stan strumienia (widoczny w zakresie klasy ios_base, stałe typu iostate) goodbit// poprawny wynik operacji goodbit// poprawny wynik operacji // poniższe bity wyzerowane // poniższe bity wyzerowane eofbit// napotkano koniec (znak końca) pliku eofbit// napotkano koniec (znak końca) pliku failbit// operacja zakończona niepowodzeniem failbit// operacja zakończona niepowodzeniem // kolejne też będą się kończyć niepow. // kolejne też będą się kończyć niepow. // trzeba wyzerować failbit // trzeba wyzerować failbit badbit// niepowodzenie i uszkodzenie strumienia badbit// niepowodzenie i uszkodzenie strumienia

18 Biblioteka IOStream – szczegóły rezultat operacji strumieniowych - metody rezultat operacji strumieniowych - metody bool good()// poprawny wynik operacji bool good()// poprawny wynik operacji bool eof() // napotkano koniec (znak końca) pliku bool eof() // napotkano koniec (znak końca) pliku bool fail() // operacja zakończona niepowodzeniem bool fail() // operacja zakończona niepowodzeniem bool bad() // niepowodzenie i uszkodzenie strumienia bool bad() // niepowodzenie i uszkodzenie strumienia rdstate()// odczytaj stan strumienia rdstate()// odczytaj stan strumienia clear()// ustaw na stan goodbit clear()// ustaw na stan goodbit clear(state)// ustaw na stan state clear(state)// ustaw na stan state setstate(state)// ustaw znaczniki state, nie rusz setstate(state)// ustaw znaczniki state, nie rusz // pozostałych // pozostałych

19 Biblioteka IOStream – szczegóły rezultat operacji strumieniowych – operatory konwersji rezultat operacji strumieniowych – operatory konwersji operator void* ()// odpowiednik !fail() operator void* ()// odpowiednik !fail() if (cin>>x) // lub: while(cin>>x) { // x odczytane poprawnie } operator ! () // odpowiednik fail() operator ! () // odpowiednik fail() if ( !!(cin>>x)) // lub: while( !!(cin>>x)) { // x odczytane poprawnie }

20 Biblioteka IOStream – szczegóły rezultat operacji strumieniowych – generowanie wyjątków rezultat operacji strumieniowych – generowanie wyjątków definicja błędnych sytuacji powodujących zgłoszenie wyjątku (metoda klasy strumienia): definicja błędnych sytuacji powodujących zgłoszenie wyjątku (metoda klasy strumienia):exceptions(flags) sprawdzenie błędnych sytuacji powodujących zgłoszenie wyjątku (metoda klasy strumienia): sprawdzenie błędnych sytuacji powodujących zgłoszenie wyjątku (metoda klasy strumienia):exceptions() jeżeli zwrócona wartość ==goodbit, to wyjątki nie są generowane

21 Biblioteka IOStream – szczegóły i/o formatowane a nieformatowane i/o formatowane a nieformatowane operatory > domyślnie obsługują i/o formatowane (określona precyzja, pomijanie białych znaków itp.) operatory > domyślnie obsługują i/o formatowane (określona precyzja, pomijanie białych znaków itp.) metody get*/put*/read*/write* i in. obsługują i/o nieformatowane metody get*/put*/read*/write* i in. obsługują i/o nieformatowane

22 Biblioteka IOStream – szczegóły i/o formatowane i/o formatowane metody dla znaczników formatu (ios::fmtflags) metody dla znaczników formatu (ios::fmtflags) setf(flags);// ustaw znacznik(i) flags setf(flags);// ustaw znacznik(i) flags setiosflags(flags);// odpowiednik setf(flags); setiosflags(flags);// odpowiednik setf(flags); setf(flags, mask);// ustaw znacznik(i) flags w grupie mask setf(flags, mask);// ustaw znacznik(i) flags w grupie mask resetiosflags(mask);// odpowiednik setiosflags(0, mask); resetiosflags(mask);// odpowiednik setiosflags(0, mask); unsetf(flags);// wyczyść znacznik(i) flags unsetf(flags);// wyczyść znacznik(i) flags flags();// zwróć aktualne znacznik(i) flags flags();// zwróć aktualne znacznik(i) flags flags(flags);// ustaw znaczniki flags, wyzeruj pozosałe flags(flags);// ustaw znaczniki flags, wyzeruj pozosałe copyfmt(stream)// kopiuj znaczniki ze strumienia stream copyfmt(stream)// kopiuj znaczniki ze strumienia stream

23 Biblioteka IOStream – szczegóły i/o formatowane - i/o formatowane - znaczniki i maski znaczniki i maski boolalpha// znacznik: typ bool liczbowy (0/1) czy opisowy boolalpha// znacznik: typ bool liczbowy (0/1) czy opisowy // true/false // true/false // zdefiniowano również manipulatory boolalpha i noboolalpha adjustfield// maska: wyrównanie (left, right, internal) adjustfield// maska: wyrównanie (left, right, internal) left// znacznik: wyrównanie do lewej left// znacznik: wyrównanie do lewej right// znacznik: wyrównanie do prawej right// znacznik: wyrównanie do prawej internal// znacznik: wyrównanie znaku liczby do lewej internal// znacznik: wyrównanie znaku liczby do lewej // reszta wartości do prawej // reszta wartości do prawej // zdefiniowano również manipulatory left, right i internal

24 Biblioteka IOStream – szczegóły i/o formatowane - i/o formatowane - znaczniki i maski znaczniki i maski showpos// poprzedź liczby dodatnie znakiem „+” showpos// poprzedź liczby dodatnie znakiem „+” // zdefiniowano również manipulatory showpos i noshowpos uppercase// liczby szcesnastkowe pisz dużymi literami uppercase// liczby szcesnastkowe pisz dużymi literami // zdefiniowano również manipulatory uppercase i nouppercase basefield// maska: podstawa systemu liczbowego basefield// maska: podstawa systemu liczbowego dec, hex oct// znaczniki systemu liczbowego dec, hex oct// znaczniki systemu liczbowego (pusty)// znacznik: zapisuj dziesiętnie, odczytuj zgodnie (pusty)// znacznik: zapisuj dziesiętnie, odczytuj zgodnie // z prefiksem liczby 0x – hex, 0 – oct, else: dec // z prefiksem liczby 0x – hex, 0 – oct, else: dec // zdefiniowano również manipulatory dec hex i oct

25 Biblioteka IOStream – szczegóły i/o formatowane - i/o formatowane - znaczniki i maski znaczniki i maski showbase// wyprowadź prefiks liczby dla systemu liczbowego showbase// wyprowadź prefiks liczby dla systemu liczbowego // zdefiniowano również manipulatory showbase i noshowbase floatfield// maska: format zmiennego przecinka floatfield// maska: format zmiennego przecinka fixed// ułamek dziesiętny fixed// ułamek dziesiętny scientific// z wykładnikiem scientific// z wykładnikiem (pusty)// wybierz sam najlepszy (pusty)// wybierz sam najlepszy // zdefiniowano również manipulatory fixed i scientific showpoint// dla liczby zmiennoprzecinkowej zawsze showpoint// dla liczby zmiennoprzecinkowej zawsze // wyprowaź kropkę // wyprowaź kropkę // zdefiniowano również manipulatory showpoint i noshowpoint

26 Biblioteka IOStream – szczegóły i/o formatowane i/o formatowane precision()// zwróć dokładność dla liczb precision()// zwróć dokładność dla liczb // zmiennorzecinkowych, // domyślnie 6 miejsc po przecinku precision(p)// ustaw dokładność dla liczb precision(p)// ustaw dokładność dla liczb // zmiennorzecinkowych // jest również manipulator setprecision(w) // jest również manipulator setprecision(w)

27 Biblioteka IOStream – szczegóły i/o formatowane - i/o formatowane - znaczniki znaczniki skipws// pomijaj białe znaki skipws// pomijaj białe znaki // zdefiniowano również manipulatory skipws i noskipws unitbuf// opróżnij bufor wyjściowy unitbuf// opróżnij bufor wyjściowy // po każdym << // po każdym << // zdefiniowano również manipulatory unitbuf i nounitbuf

28 Biblioteka IOStream – szczegóły i/o formatowane i/o formatowane width()// zwróć szerokość pola (liczba znaków) width()// zwróć szerokość pola (liczba znaków) // znaczy: nie mniej niż // znaczy: nie mniej niż width(w)// ustaw szerokość pola (liczba znaków) width(w)// ustaw szerokość pola (liczba znaków) // znaczy: nie mniej niż // znaczy: nie mniej niż // jest również manipulator setw(w) char buf[80]; cin >> setw(sizeof(buffer)) >> buffer; fill() // zwróć znak dopelniajacy pole fill() // zwróć znak dopelniajacy pole fill(c) // ustaw znak dopelniajacy pole fill(c) // ustaw znak dopelniajacy pole // jest również manipulator setfill(c)

29 Biblioteka IOStream – szczegóły i/o formatowane i/o formatowane metody dla lokalizacji programów, znaków międzynarodowych, itp. metody dla lokalizacji programów, znaków międzynarodowych, itp. są … opisane w dokumentacji ;-) są … opisane w dokumentacji ;-)

30 Biblioteka IOStream – szczegóły i/o nieformatowane i/o nieformatowane metoda get metoda get int get();// odczytaj jeden znak, lub EOF int get();// odczytaj jeden znak, lub EOF // odpowiednik getchar()/getc() // odpowiednik getchar()/getc() istream& get(char &c);// nie ma EOF, jest stan str. istream& get(char &c);// nie ma EOF, jest stan str. istream& get(char *pc, streamsize cnt) istream& get(char *pc, streamsize cnt) istream& get(char *pc, streamsize cnt, char delim) istream& get(char *pc, streamsize cnt, char delim) // wczytaj do bufora pc, zatrzymaj się po przeczytaniu // wczytaj do bufora pc, zatrzymaj się po przeczytaniu // cnt-1 znaków, lub napotkaniu znaku delim // cnt-1 znaków, lub napotkaniu znaku delim // nie odczytuj delim, dopisz do bufora ‘\0’ // nie odczytuj delim, dopisz do bufora ‘\0’ istream& ignore(streamsize cnt, char delim) istream& ignore(streamsize cnt, char delim) // kilka wariantów, pobierz ale nie zapisuj // kilka wariantów, pobierz ale nie zapisuj

31 Biblioteka IOStream – szczegóły i/o nieformatowane i/o nieformatowane metoda getline metoda getline istream& getline(char *pc, streamsize cnt) istream& getline(char *pc, streamsize cnt) istream& getline(char *pc, streamsize cnt, char delim) istream& getline(char *pc, streamsize cnt, char delim) // wczytaj do bufora pc, zatrzymaj się po przeczytaniu // wczytaj do bufora pc, zatrzymaj się po przeczytaniu // cnt-1 znaków, lub napotkaniu odpowiednio // cnt-1 znaków, lub napotkaniu odpowiednio // konca wiersza lub znaku delim // konca wiersza lub znaku delim // delim jest odczytywany ze strumienia // delim jest odczytywany ze strumienia // jeżeli odczytano mniej niż cnt znaków to ustaw failbit

32 Biblioteka IOStream – szczegóły i/o nieformatowane i/o nieformatowane metody read i readsome – wybrane aspekty metody read i readsome – wybrane aspekty istream& read(char *pc, streamsize cnt) istream& read(char *pc, streamsize cnt) // odczytaj cnt znaków // odczytaj cnt znaków streamsize readsome(char *pc, streamsize cnt) streamsize readsome(char *pc, streamsize cnt) // zwróć liczbę przeczytanych znaków, // zwróć liczbę przeczytanych znaków, // odczytaj nie więcej niż cnt-1 znaków // odczytaj nie więcej niż cnt-1 znaków // pobierz tylko te znaki, które już są w buforze (niedestrukcyjne) // pobierz tylko te znaki, które już są w buforze (niedestrukcyjne)

33 Biblioteka IOStream – szczegóły i/o nieformatowane i/o nieformatowane int peek(char *pc, streamsize cnt) int peek(char *pc, streamsize cnt) // odczytaj następny znak, ale nie pobieraj go z bufora // odczytaj następny znak, ale nie pobieraj go z bufora istream& unget() istream& unget() // zwróć ostatnio odczytany znak // zwróć ostatnio odczytany znak // zależnie od implementacji zadziała 1 lub wiecej // zależnie od implementacji zadziała 1 lub wiecej // razy pod rząd // jeżeli nie powiedzie się to ustaw badbit istream& putback(char c) istream& putback(char c) // j.w., ale jeżeli c nie jest ostatnio pobranym znakiem // j.w., ale jeżeli c nie jest ostatnio pobranym znakiem // to ustaw badbit

34 Biblioteka IOStream – szczegóły i/o nieformatowane i/o nieformatowane ostream& put(char c) ostream& put(char c) // zapisz c do strumienia // zapisz c do strumienia ostream& write(const char *pc, streamsize cnt) ostream& write(const char *pc, streamsize cnt) // zapisz cnt znakow od adresu pc do strumienia // zapisz cnt znakow od adresu pc do strumienia // nie dopisuj (automatycznie) \0 // nie dopisuj (automatycznie) \0 ostream& flush() ostream& flush()

35 Biblioteka IOStream – podstawy Klasy strumieni plikowych Klasy strumieni plikowych strumień wejściowy ifstream (wywiedziony ze wzorca: basic_ifstream /pochodny basic_istream /) strumień wejściowy ifstream (wywiedziony ze wzorca: basic_ifstream /pochodny basic_istream /) strumień wyjściowy ofstream (wywiedziony ze wzorca: basic_ofstream /pochodny basic_ostream /) strumień wyjściowy ofstream (wywiedziony ze wzorca: basic_ofstream /pochodny basic_ostream /) strumień we/wy fstream (wywiedziony ze wzorca: basic_fstream /pochodny basic_iostream /) strumień we/wy fstream (wywiedziony ze wzorca: basic_fstream /pochodny basic_iostream /)

36 Biblioteka IOStream – podstawy int i; ifstream plikwe(„plik.txt”); if (!plikwe) cout<<„nie otworzylem pliku”; cout<<„nie otworzylem pliku”;else plikwe>>i; plikwe>>i;

37 Biblioteka IOStream – podstawy Znaczniki dla plików (widoczne w zakresie std::ios) Znaczniki dla plików (widoczne w zakresie std::ios) argumenty konstruktora: fstream(nazwa, znaczniki=def) argumenty konstruktora: fstream(nazwa, znaczniki=def) in// znacznik: strumień wejściowy domyślny dla ifstream in// znacznik: strumień wejściowy domyślny dla ifstream out// znacznik: strumień wyjściowy domyślny dla ofstream out// znacznik: strumień wyjściowy domyślny dla ofstream app// z.: dla pliku wyjściowego ustaw się na końcu pliku app// z.: dla pliku wyjściowego ustaw się na końcu pliku ate// z.: ustaw się na końcu pliku ate// z.: ustaw się na końcu pliku out// z.: usuń zawartość pliku (jeżeli niepusty) out// z.: usuń zawartość pliku (jeżeli niepusty) binary// z.: tryb binarny (nie tłumacz CR LF) binary// z.: tryb binarny (nie tłumacz CR LF) ifstream ibin(„data.bin”, std::ios::in | std::ios::binary);

38 Biblioteka IOStream – podstawy Metody dla strumieni plikowych Metody dla strumieni plikowych open// ( nazwa_pliku [, znaczniki] ) open// ( nazwa_pliku [, znaczniki] ) close// () close// () is_open// czy skojarzony z otwartym plikiem? is_open// czy skojarzony z otwartym plikiem? tellg/tellp// pobierz aktualną pozycją odczytu/zapisu tellg/tellp// pobierz aktualną pozycją odczytu/zapisu seekg/seekp// seek dla odczytu/zapisu, seekg/seekp// seek dla odczytu/zapisu, // przeciążone wersje: poz. względna/bezwzględna // przeciążone wersje: poz. względna/bezwzględna ifstream ibin(„data.bin”, std::ios::in | std::ios::binary);

39 Biblioteka IOStream – szczegóły Klasy strumieni plikowych Klasy strumieni plikowych szczegóły są opisane w dokumentacji … ;-) szczegóły są opisane w dokumentacji … ;-)

40 Biblioteka IOStream – podstawy Klasy strumieni pamięciowych (łańcuchowych) Klasy strumieni pamięciowych (łańcuchowych) strumień wejściowy istringstream (wywiedziony ze wzorca: basic_istringstream /pochodny basic_istream /) strumień wejściowy istringstream (wywiedziony ze wzorca: basic_istringstream /pochodny basic_istream /) strumień wyjściowy ostringstream (wywiedziony ze wzorca: basic_ostringstream /pochodny basic_ostream /) strumień wyjściowy ostringstream (wywiedziony ze wzorca: basic_ostringstream /pochodny basic_ostream /) strumień we/wy stringstream (wywiedziony ze wzorca: basic_stringstream /pochodny basic_iostream /) strumień we/wy stringstream (wywiedziony ze wzorca: basic_stringstream /pochodny basic_iostream /)

41 Biblioteka IOStream – szczegóły Klasy strumieni pamięciowych Klasy strumieni pamięciowych szczegóły są opisane w dokumentacji … ;-) szczegóły są opisane w dokumentacji … ;-)


Pobierz ppt "Przestrzenie nazw, strumienie. Przestrzenie nazw Przestrzeń nazw – co to takiego? Przestrzeń nazw – co to takiego?namespace Kiedy potrzebujemy przestrzeni."

Podobne prezentacje


Reklamy Google