przejście do zawartości
zpr c++ quick reference
Narzędzia użytkownika
Zarejestruj się!
Zaloguj
Narzędzia witryny
Narzędzia
Pokaż stronę
Poprzednie wersje
Odnośniki
Ostatnie zmiany
Menadżer multimediów
Indeks
Zaloguj
Zarejestruj się!
Ostatnie zmiany
Menadżer multimediów
Indeks
Ślad:
opis_kontenera:string
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== String ====== //Autor: Maciej Stefańczyk// Klasa **string** jest kontenerem przeznaczonym do przechowywania łańcuchów znaków. Stanowi pewnego rodzaju opakowanie dla tablic znaków znanych z C, zawiera także wiele funkcji przydatnych do operowania na napisach. Przy programowaniu obiektowym klasa **string** zastępuje używanie tabic znaków i biblioteki cstring. Aby móc używac obiektów typu **string** należy dołączyć do programu odpowiedni nagłówek: <code cpp> #include <string> </code> ====== Metody klasy string ====== ===== Spis ===== ^ Podstawowe ^^ |[[string#Konstruktory|Konstruktor]]| Tworzy nowy obiekt | |[[string#operator=|operator=]] | Operator przypisania | ^ Iteratory ^^ |begin |Zwraca iterator na pierwszy znak napisu | |end |Zwraca iterator wskazujący na miejsce za ostatnim znakiem | |rbegin |Zwraca wsteczny iterator wskazujący na ostatni znak napisu | |rend |Zwraca wsteczny iterator wskazujący na miejsce przed pierwszym znakiem | ^Rozmiar^^ |size |Zwraca ilość znaków w napisie | |length |Zwraca ilość znaków w napisie | |max_size |Zwraca maksymalny dozwolony rozmiar napisu | |resize |Zmienia rozmiar napisu (skraca lub wydłuża) | |capacity |Zwraca wielkość aktualnie zarezerwowanej dla napisu pamięci | |reserve |Wymusza zarezerwowanie ustalonej pamięci dla napisu | |clear |Czyści napis | |empty |Sprawdza, czy napis jest pusty | ^Dostęp do znaków^^ |operator[] |Zwraca znak na danej pozycji | |at |Zwraca znak na danej pozycji | ^Modyfikacja^^ |operator+= |Dopisuje znaki na końcu napisu | |append |Dopisuje znaków na końcu napisu | |push_back |Dodaje znak na koniec napisu | |assign |Zastępuje dotychczasowy napis nowym | |insert |Wstawia dodatkowe znaki do napisu | |erase |Usuwa znaki z napisu | |replace |Zmienia część napisu | |copy |Kopiuje fragment napisu | |swap |Zamienia zawartość dwóch stringów między sobą | ^Operacje dodatkowe^^ |c_str |Zwraca wskaźnik na tablicę znaków zakończoną zerem | |data |Zwraca wskaźnik na wewnętrzną tablicę przechowującą znaki napisu | |get_allocator | | |find |Wyszukuje pierwsze wystąpienie znaku/ciągu w napisie | |rfind |Wyszukuje ostatnie wystąpienie znaku/ciągu w napisie | |find_first_of |Wyszukuje pierwsze wystąpienie jednego z podanych znaków | |find_last_of |Wyszukuje ostatnie wystąpienie jednego z podanych znaków | |find_first_not_of |Wyszukuje pierwsze wystąpienie znaku nie podanego jako argument | |find_last_not_of |Wyszukuje ostatnie wystąpienie znaku nie podanego jako argument | |substr |Zwraca podciąg aktualnego napisu | |compare |Porównuje dwa stringi | ===== Podstawowe ===== === Konstruktory === Istnieje kilka metod tworzenia obiektów klasy string. \\ \\ <code cpp>explicit string ( );</code> Tworzy pusty napis. \\ \\ <code cpp>string ( const string& str );</code> Kopiuje do nowego napisu zawartość już istniejącego. \\ \\ <code cpp>string ( const string& str, size_t pos, size_t n = npos );</code> Tworzy nowy napis i kopiuje do niego podciąg napisu podanego jako argument. Kopiowana jest część zaczynająca się na pozycji //pos// i zawierająca conajwyżej //n// znaków (jeśli napis jest krótszy niż //pos+n//, kopiowane są znaki od pozycji //pos// do końca napisu). \\ \\ <code cpp>string ( const char * s, size_t n );</code> Nowy napis jest tworzony poprzez kopiowanie //n// znaków z tablicy znaków wskazywanej przez //s//. \\ \\ <code cpp>string ( const char * s );</code> Nowy napis jest tworzony poprzez skopiowanie łańcucha znaków zakończonego zerem wskazywanego przez //s//. \\ \\ <code cpp>string ( size_t n, char c );</code> Tworzony jest napis zawierający //n// wystapień znaku //c//. \\ \\ <code cpp>template<class InputIterator> string (InputIterator begin, InputIterator end);</code> Jeśli //InputIterator// jest typu całkowitego, jego argumenty są rzutowane na odpowiednie typy i wywoływany jest konstruktor wymieniony wyżej. <code cpp>string(static_cast<size_t>(begin),static_cast<char>(end));</code> W przeciwnym wypadku argumenty są traktowane jak iteratory i napis jest tworzony przez skopiowanie do stringa wszystkich elementów poczynając od //begin// a kończąc na elemencie poprzedzającym //end//. === operator= === <code cpp>string& operator= ( const string& str ); string& operator= ( const char* s ); string& operator= ( char c );</code> Operator przypisania dla napisów. * //str// - obiekt klasy string * //s// - łańcuch znaków zakończony zerem * //c// - po przypisaniu zawartość napisu stanowi pojedynczy znak ===== Iteratory ===== ===== Rozmiar ===== ===== Dostęp do znaków ===== ===== Modyfikacja ===== ===== Operacje dodatkowe =====
opis_kontenera/string.1228668344.txt.gz
· ostatnio zmienione: 2008/12/07 17:45 przez
mstefanc
Narzędzia strony
Pokaż stronę
Poprzednie wersje
Odnośniki
Do góry