Język C++
basic_string::erase
[metoda] Usuwa część stringa.Składnia
#include <string>
namespace std
{
template <
class TypZnaku,
class CechowanieZnakow = char_traits < TypZnaku >,
class Alokator = allocator < TypZnaku >
>
class basic_string
{
private:
typedef basic_string < TypZnaku, CechowanieZnakow, Alokator > UtworzonaKlasaT;
public:
UtworzonaKlasaT & erase( size_type _pos = 0, size_type _len = npos );
iterator erase( const_iterator _p );
iterator erase( const_iterator _pierwszy, const_iterator _ostatni );
};
}
Argumenty
Zwracana wartość
Pierwsza metoda oznaczona przez (1) zwraca referencję do obiektu, na którym została wywołana (
* this
).
Pozostałe wersje metody zwracają iterator do pozycji znaku, który zajmuje teraz miejsce pierwszego usuniętego znaku. Jeżeli nie ma więcej znaków
za usuniętym tekstem, iterator będzie wskazywał na
end.
Opis szczegółowy
Metody usuwające część stringu. Metoda (1) usuwa
_len znaków (lub mniej w przypadku napotkania końca kontenera) od pozycji
_pos. Metoda (2) usuwa pojedynczy znak wskazywany przez iterator
_p. Metoda (3) usuwa cały przedział znaków określony przez [
_pierwszy,
_ostatni).
Rzucane wyjątki
Jeżeli wyjątek zostanie rzucony, wartość obiektu nie ulegnie zmianie.
Jeżeli
_p lub przedział [
_pierwszy,
_ostatni) nie jest poprawny, zachowanie jest niezdefiniowane.
Jeżeli
_pos jest większe od długości aktualnego obiektu, to wtedy zostanie rzucony
out_of_range.
Przykład
#include <iostream>
#include <string>
typedef std::basic_string < char, std::char_traits < char >, std::allocator < char >> MojString;
int main()
{
MojString str( "To jest przykladowe zdanie." );
std::cout << str << '\n';
str.erase( 8, 12 );
std::cout << str << '\n';
str.erase( str.begin() + 8 );
std::cout << str << '\n';
str.erase( str.begin() + 3, str.end() - 6 );
std::cout << str << '\n';
return 0;
}
Standardowe wyjście programu:
To jest przykladowe zdanie.
To jest zdanie.
To jest danie.
To danie.
Zagadnienia powiązane
clear | Usuwa całą zawartość stringa. (metoda) |
---|
replace | Zamienia część znaków na inne. (metoda) |
---|
insert | Wstawia znaki do aktualnego łańcucha znaków. (metoda) |
---|
assign | Przypisuje nową wartość aktualnemu obiektowi. (metoda) |
---|
append | Modyfikuje przechowywany tekst poprzez dopisanie podanego łańcucha znaków na koniec tekstu. (metoda) |
---|
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.