funkcje biblioteki algorithm

0

Mam pytania odnośnie tego kawałka kodu. Dlaczego w pierwszej linijce nie może być zamiast ' ' to " " jeśli napis będę pobierał ze stringa oraz dlaczego w obydwu przypadkach używa się 2 razy .end lub 2 razy .begin? Czemu to służy i dlaczego w 1 linijce jest inna kolejność niż w 2 tzn : .begin, .end, .end a w 2 : .begin, .end, .begin

napis.erase(remove(napis.begin(), napis.end(), ' '), napis.end());
transform(napis.begin(), napis.end(), napis.begin(), ::tolower);
2

http://www.cplusplus.com/reference/algorithm/remove/
... , const T& val); czyli pojedynczy element, dla stringa pojedynczym elementem jest znak

remove mam dwa parametry początek i koniec, zwraca nowy początek (po operacji) jest on jednocześnie pierwszym parametrem trójparametrowego eraze.
http://www.cplusplus.com/reference/string/string/erase/

http://www.cplusplus.com/reference/algorithm/transform/?kw=transform
Transform nie koniecznie musi pisać do tej samej tablicy, stąd musi mieć swój trzeci parametr.

1 użytkowników online, w tym zalogowanych: 0, gości: 1