Operacje na tekstach
Ostatnio zmodyfikowano 2010-11-08 01:25
pawelekster Temat założony przez niniejszego użytkownika |
Operacje na tekstach » 2010-11-08 00:43:20 Co oznaczają parametry funkcji, której nagłówek wygląda następująco:
int ilosc_slow(const string & napis)
Chodzi mi przede wszystkim o symbol "&".
Czy nie ma tu błędu i czy powinno być może "int ilosc_slow(const string &napis)" ?
Pozdrawiam
Paweł |
|
DejaVu |
» 2010-11-08 01:03:10 Zapis void funkcja( const blabla & nazwa_argumentu ) zapobiega tworzeniu kopii obiektu - pracujesz na oryginalnych danych, dzięki czemu nie marnujesz zasobów komputera np. na kopiowanie miliona znaków tekstu. Prosty przykład działania referencji:
void funkcja( int & zmienna ) { zmienna++; }
int a = 1; funkcja( a ); printf( "a = %d\n", a );
|
|
pawelekster Temat założony przez niniejszego użytkownika |
» 2010-11-08 01:10:40 Gdyby nie było symbolu "&", to też by zadziałało? Chyba...
ale generalnie w tym wypadku (mojej funkcji) argumentem jest stała łańcuchowa? |
|
DejaVu |
» 2010-11-08 01:18:47 #include <cstdio> #include <vector>
typedef std::vector < char > blabla;
void funkcja1( const blabla & x ) { printf( "dlugosc = %d\n", x.size() ); }
void funkcja2( const blabla x ) { printf( "dlugosc = %d\n", x.size() ); }
int main() { blabla zmienna; for( size_t i = 0; i < 1024 * 1024; i++ ) zmienna.push_back( 'a' ); funkcja1( zmienna ); return 0; }
Sprawdź sobie szybkość działania z funkcją pierwszą i drugą (nie kompilowałem, więc mogą być błędy składniowe).
/edit:
Odpowiadając natomiast na Twoje powyższe pytanie: po prostu sprawdź :) to jest najlepsza metoda nauki. Zmaganie się z problemami zmusza do myślenia, natomiast klepanie postów na forum do czytania i zapamiętywania. Na dłużej zapamiętasz gdy to będzie efektem Twojego myślenia, a nie przeczytaniem odpowiedzi. Są rzeczy o które oczywiście warto pytać, bowiem nie da się wydedukować (bądź zajmie zbyt dużo czasu dojście do ewentualnej odpowiedzi), natomiast inne jak sam zaproponowałeś można po prostu przetestować. |
|
pawelekster Temat założony przez niniejszego użytkownika |
» 2010-11-08 01:24:47 Rozumiem, wielkie dzięki :)
Programowałem kiedyś w Pascalu, Basicu, Logo itp.
a tutaj się przekopuję przez składnię i struktury, bo chcę trochę pomóc dziecku ;)
Dobrej nocy:) |
|
DejaVu |
» 2010-11-08 01:25:35 Spoko luz, dobranoc :) |
|
« 1 » |