Skocz do zawartości
bebot

[c++] Szablon Resize Array ?

Rekomendowane odpowiedzi

Przeczytałem ostatnio funkcję, której mimo usilnych starań nie rozumiem w stu procentach. Potrzebuję pomocy.Chodzi o szablon

resizearray:

 

Po pierwsze dalczego w deklaracji pierwszego składnika szablonu

std::vector<std::vector<_Type> >& aArray występuje aArray, domyślam się że jest to przykładowy element

typu _Type. Jednak nie występuje on wcześniej w kodzie programu, Co ma znaczyć &, po ta referencja.

 

Po drugie co oznacza _Type Value = _Type() ?

 

Po trzecie co to jest i z czym to się je:)

(*i).resize (uHeight, Value)

 

// pomocnicza funkcja dokonująca wymiarowania dwuwymiarowej tablicy// (typu std::vector<std::vector<typ>>template <typename _Type> void ResizeArray(std::vector<std::vector<_Type> >& aArray,										   unsigned uWidth, unsigned uHeight,										   _Type Value = _Type()){	aArray.resize (uWidth);	for (std::vector<std::vector<_Type> >::iterator i = aArray.begin(); i != aArray.end(); ++i)		(*i).resize (uHeight, Value);}

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

aArray to nic innego jak referencja do obiektu o typie std::vector<std::vector<_Type> >. Referencja zostalo użyta żeby nie operować na kopii obiektu tylko na nim samym. " _Type Value = _Type() " oznacza że ostatni parametr jest opcjonalny i jeżeli go nie podasz, zostanie użyty obiekt utworzony przez domyślny konstruktor. "(*i).resize (uHeight, Value)" oznacza w tym wypadku to samo co "i->resize (uHeight, Value)".

 

Pytasz o podstawy cpp, polecam kupić jakąś książke.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dopiero zaczynam programować.

Wolę się nauczyć w praktyce niż czytać sterty książek.

Mam w domu symfonnie c++ i pasje c++ ale takiego przykładu nie zalazłem.

icon_smile3.gif

dopiero zaczynasz ?? a już takie rzeczy robisz ;o daj na luz, i zacznij od teorii i samego początku... bo nie wróże ci nic dobrego

Zgadzam się z kolegą bebotem.

Jak dojdę kiedyś do włądzy to każę wszystkie książki o programowaniu spalić :P

Uważam, że programowania można się nauczyć tylko na przykładach i programowaniu praktycznym.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Niestety wielu rzeczy nie dowiesz sie z "kodu", ksiazkowa wiedza jest przydatna :)

Oczywiscie, imho praktyka jest w sumie podstawa do zostania dobrym coderem, ale uwierz mi, kup dobra ksiazke i zauwazysz, ze naprawde wiecej sie nauczysz niz czytajac sam kod :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

zgadzam sie z przedmowca. Ksiazki sa bezcenne. Nalezy jednakowoz pamietac o tym, ze przeczytanie ksiazki WPROWADZA jedynie w kraine danego jezyka programowania! Reszta to praktyka i boje z kompilatorem :) .

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...