Funkcja zwracająca iterator.
Ostatnio zmodyfikowano 2015-02-07 22:34
krecik1334 Temat założony przez niniejszego użytkownika |
Funkcja zwracająca iterator. » 2015-02-04 19:10:43 Załóżmy, że napisałem działającą funkcje typu vector<Klasa>::iterator która wewnątrz tworzy tablicę typu vector i zwraca do niej iterator. W jaki sposób moge w mainie po wywołaniu tej funkcji otrzymać tą tablice i z niej korzystać tak, jakbym stworzył zwykłą tablicę i miał do niej wskaźnik? |
|
Monika90 |
» 2015-02-04 19:14:42 Może po prostu zwróć ten wektor przez wartosć. |
|
krecik1334 Temat założony przez niniejszego użytkownika |
» 2015-02-04 19:27:11 A nie ma takich jakby "wskaźników" dla typu vector dzięki którym mógłbym to wykonać? |
|
pekfos |
» 2015-02-04 19:38:24 Możesz utworzyć wskaźnik na dowolny typ. |
|
DejaVu |
» 2015-02-05 10:31:47 sugeruję abys dal kod z oczekiwanym przykladem uzycia. |
|
krecik1334 Temat założony przez niniejszego użytkownika |
» 2015-02-05 14:02:43 vector < Pytanie > pytanka( fstream & plik ) { plik.open( "slowka.txt", ios::in ); vector < Pytanie > pytanka; int nr = 1; string linia; Pytanie bufor; while( getline( plik, linia ) ) { if( nr % 2 == 0 ) { bufor.niemiecki = linia; } else if( nr % 3 == 0 ) { bufor.polski = linia; } else { bufor.trudnosc = atoi( linia.c_str() ); } if( nr % 3 == 0 ) { pytanka.push_back( bufor ); } nr++; } return pytanka; }
To jest kod funkcji którą napisałem i działa, ale zwraca ona tablicę. Nie dałoby się zrobić tak żeby zwracała iterator czy tam wskaźnik i potem żebym mógł sie tą tablicą posługiwać w main() ? Jeśli tak to jak to zrobić? |
|
pekfos |
» 2015-02-05 14:46:52 zwraca ona tablicę. Nie dałoby się zrobić tak żeby zwracała iterator czy tam wskaźnik i potem żebym mógł sie tą tablicą posługiwać w main() ? |
A nie możesz po prostu brać zwracanej tablicy i jej używać..? |
|
akwes |
» 2015-02-07 20:31:44 Możesz przesyłać wektor przez referencję i go uzupełniać. Możesz go optymalnie zwracać przez wartość jeżeli Twój kompilator obsługuje NRVO, a zapewne to robi. |
|
« 1 » 2 |