Narzędzia użytkownika

Narzędzia witryny


opis_kontenera:string

To jest stara wersja strony!


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:

#include <string>

Metody klasy string

Spis

Podstawowe
Konstruktor Tworzy nowy obiekt
operator= Operator przypisania
Iteratory
      iterator begin();
const_iterator begin() const;
Zwraca iterator na pierwszy znak napisu
      iterator end();
const_iterator end() const;
Zwraca iterator wskazujący na miejsce za ostatnim znakiem
      reverse_iterator rbegin();
const_reverse_iterator rbegin() const;
Zwraca wsteczny iterator wskazujący na ostatni znak napisu
      reverse_iterator rend();
const_reverse_iterator rend() const;
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.

explicit string ( );

Tworzy pusty napis.

string ( const string& str );

Kopiuje do nowego napisu zawartość już istniejącego.

string ( const string& str, size_t pos, size_t n = npos );

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).

string ( const char * s, size_t n );

Nowy napis jest tworzony poprzez kopiowanie n znaków z tablicy znaków wskazywanej przez s.

string ( const char * s );

Nowy napis jest tworzony poprzez skopiowanie łańcucha znaków zakończonego zerem wskazywanego przez s.

string ( size_t n, char c );

Tworzony jest napis zawierający n wystapień znaku c.

template<class InputIterator> 
    string (InputIterator begin, InputIterator end);

Jeśli InputIterator jest typu całkowitego, jego argumenty są rzutowane na odpowiednie typy i wywoływany jest konstruktor wymieniony wyżej.

string(static_cast<size_t>(begin),static_cast<char>(end));

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=

string& operator= ( const string& str );
string& operator= ( const char* s );
string& operator= ( char c );

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

W każdym przypadku zwracaną wartością jest *this.

Iteratory

begin

      iterator begin();
const_iterator begin() const;

Zwraca iterator wskazujący pierwszy znak napisu.

end

      iterator end();
const_iterator end() const;

Zwraca iterator wskazujący na miejsce za ostatnim znakiem.

rbegin

      reverse_iterator rbegin();
const_reverse_iterator rbegin() const;

Zwraca wsteczny iterator wskazujący na ostatni znak napisu

rend

      reverse_iterator rend();
const_reverse_iterator rend() const;

Zwraca wsteczny iterator wskazujący na miejsce przed pierwszym znakiem

Rozmiar

Dostęp do znaków

Modyfikacja

Operacje dodatkowe

opis_kontenera/string.1228670479.txt.gz · ostatnio zmienione: 2008/12/07 18:21 przez mstefanc