Aktywne Wpisy

cppguy +106
czesc mireczki, dopiero zaczalem prace jako stazysta frontend i wrzucili mnie do jakiegos projektu do ktorego trzeba dodac kilka nowych rzeczy, tylko jest jeden problem, kod jest #!$%@? po chinsku XD to normalne czy jakos #!$%@? trafilem? ponizej przykladowy komponent, w ktorym musialem poprawic jedna rzecz i z tlumaczem jakos sie udalo po 3 godzinach XD
#programowanie
#programowanie

noipmezc +5
znacie jakies fajne ciekawostki?





Mirki, mam problem. Dam linka i powiem o co chodzi.
http://pastebin.com/Aim4PTyG
mmInt to typedef inta, mmReal to typedef double, nie chciałem już zmieniać tego, co wyjąłem z kodu.
Problemy są dwa:
1. Potrzebuję usunąć PIERWSZY element wektora, nie ostatni. Ma go wypieprzyć i wszystkie pozostałe przesunąć o jedną pozycję w górę. Jak to zrobić?
2. Nie ma sprawdzania zakresu macierzystej tablicy pikseli. W momencie, gdy przekazuję adres piksela, żeby mieć jak się do niego odnieść w tej wewnętrznej pętli kolorującej, to tracę informację, że to jest adres jakiegoś elementu tablicy i przez to jak sprawdzę sąsiedztwo, to może mi wywalić access violation jak złoto. Trzeba więc koniecznie dodać to sprawdzenie. Tutaj mam pewien pomysł, bo mogę wysupłać sobie wskaźnik elementu 0 jako odnośnik i odejmować go od danego adresu referencyjnego, który chcę sprawdzić. Jeśli wynik jest mniejszy od 0 to znaczy, że takiego elementu nie ma. Jeśli większy od element[0] + width*height - to samo.
@Khaine: jeśli możesz, to zrób swap pierwszego i ostatniego elementu; wywal ostatni. Jeżeli nie, to vector.erase(0) (złożoność O(n)).
nie możesz trzymać tego jako vectora/
std::arrayi przekazywać referencję na kontener, oraz iterator/referencję na konkretny piksel?czemu nie używasz tu
std::vector, tylko z new się bawisz?No bo wiem ile ta tablica ma elementów, nie muszę jej alokować dynamicznie. Zawsze będzie miała dokładnie tyle. Nawet jak nie będzie w niej nic.
Ciężko mi sobie wyobrazić, co tam się będzie działo w środku jak to zrobię.
@Khaine: a new nie alokuje dynamicznie? Zachowanie będzię to samo, jeżali dasz
vector nazwa(n);. Różnica taka, że masz wszystkie metody z vectora + masz automatycznedelete[].Jeżeli liczba elementów jest znana podczas kompilacji, to może std::array?
Wpadłem na taki