[Lekcja 27] Problem z metodą find.
Ostatnio zmodyfikowano 2013-01-05 03:29
Reavey Temat założony przez niniejszego użytkownika |
[Lekcja 27] Problem z metodą find. » 2012-12-30 18:47:43 Witam. Będąc szczery i przechodząc od razu do sedna, kompletnie nie rozumiem metody string::find omawianej w tym: Wyszukiwanie frazy w tekście rozdziale. Problemów jest kilka, a szczególnie niezrozumiane przeze mnie są dwa: 1) W dokumentacji metody string::find napisane jest: size_type find( value_type ch, size_type off = 0 ) const; size_type find( const value_type * ptr, size_type off = 0 ) const; size_type find( const value_type * ptr, size_type off, size_type count ) const; size_type find( const basic_string & str, size_type off = 0 ) const;
Co w tym zapisie oznacza drugi argument tej metody z pierwszego przykładu? ( size_type off = 0 ). Rozumiem, że jest to miejsce, od którego ma się rozpocząć wyszukiwanie, ale czym jest size_type off ? 2) Idąc dalej w rozdziale, powyższy zapis zastąpiony jest: size_t znalezionaPozycja = tekst.find( szukanyZnak ); Rozumiem, że size_t jest typem danych zawierającym liczby nieujemne. Ale dlaczego metoda find ma tu tylko jeden argument? Czy pisanie, że ma ona szukać "Od zera" jest opcjonalne? Z góry dziękuję za odpowiedź. //Edit: Poza tym, czy mógłby ktoś mi wyjaśnić, dlaczego w funkcji void szukajZnaku( std::string & tekst, char szukanyZnak ) w pierwszym argumencie występuje referencja? Przecież efekt działania programu byłby taki sam bez niej. |
|
SeaMonster131 |
» 2012-12-30 20:19:19 Co w tym zapisie oznacza drugi argument tej metody z pierwszego przykładu? | http://www.cplusplus.com/reference/string/string/find/Ale dlaczego metoda find ma tu tylko jeden argument? Czy pisanie, że ma ona szukać "Od zera" jest opcjonalne? |
Tak, jest opcjonalny, bo wtedy kompilator automatycznie przypisze mu wartość 0: size_type find( value_type ch, size_type off = 0 ) const;
|
|
crash |
» 2013-01-05 03:29:10 size_t to synonim unsigned int: typedef unsigned int size_t Na przyszłość, jeśli będziesz stosował we własnych funkcjach parametry domyślne, obojętne czy jeden czy więcej, to takie parametry muszą znaleźć się na końcu listy parametrów; nie muszą one mieć wartości zero. |
|
« 1 » |