Witajcie wykopowicze. Mam mały problem z c++ i visual studio 2012. Napisałem sobie prosty program do rysowania prostych figur geometrycznych przy pomocy biblioteki CImg. Wszystko śmiga w linii komend - zdecydowałem że zrobię do tego proste GUI. Więc utworzyłem nowy projekt, narysowałem w designerze proste okienko - przestestowałem okienko działało i wyświetlało się. No to skopiowałem sobie pliki *.cpp i *.h z poprzedniego projektu bo chciałem ich użyć w tym. A tu
Debugowanie samo w sobie nie powiedziało mi więcej niż odkryłem wcześniej że po heheszki jakby przestaje parsować przeskakując z automatu do tekstu w tagu (tzn ala) zamiast przetworzyć liczby. Reszta poniękąd się zgadza (typy, wykrywanie, elementy)
@sylwke3100: Odnalezienie rewizji nie jest problemem. Problemem jest porównanie co się zmieniło między wersjami. Narzędzia typu diff w żaden sposób się nie połapią, że poprzenoszone zostały linijki. W przypadku plików o nietrywialnym rozmiarze kod "przed" i "po" będzie wyglądał jakby został napisany od nowa i nie da się zauważyć rzeczywistych zmian.
Mikroby, zostały mi 2 miesiące wakacji. Koniec byczenia, trzeba coś ruszyć dupsko i zacząć się uczyć czegokolwiek.
Jako, że jestem na Infie i z tym wiąże swoja przyszłość to pasowałoby powoli uczyć się troszeczkę bardziej zaawansowanego programowania niż "hello world". Dlatego zastanawiam się jaką książkę zakupić. Symfonia C++ jest chyba bez C++11, a jest mi on potrzebny na studiach (bo głównie z niego składa się
@KrzaQ2: może reklamuj się pod jakimś osobnym tagiem, #programowanie jest ostatnimi czasy beznadziejne i chyba wywalę z obserwowanych, a ty akurat czasem ciekawe rzeczy potrafisz zarzucić
Chciałbym szerszej publiczności zaprezentować mój parserek w formie biblioteczki(w którym trochę mi pomagał @KrzaQ2). Obecnie jego możliwości są skromne. Potrafi:
- Rozpoznawać tekst, liczby całkowite, liczby zmiennoprzecinkowe (do wyboru przecinek bądź kropka jako serparator), znaki alfanumeryczne oraz inne które sobie
Jak zrobić w C++ (podkreślam jak najwięcej) tablice, kontener z funkcjami które możemy dodawać w stylu insert lub push_back ?Wiem że sama tablica w C była przez wskażniki do zrealizowania (często podawana przy bibliotekach dynamicznych)
@sylwke3100: no mapa ma większe możliwości (nie jest ograniczona do stałej liczby pól chociażby), nic dziwnego, że jest wolniejsza i zajmuje więcej. Mapy zazwyczaj się implementuje jako drzewa albo hasmapy, czyli dostęp do elementu jest rzędu O(log n), lub amortyzowany (średni) O(1), ale z dużą stałą (czyli wolniej niż inne algorytmy (1)), z kolei dla wektorów i tablic dostęp do elementów jest O(1) z małą stałą, czyli dużo szybciej (ale
@tell_me_more: sprawdziłem z ciekawości - std::map jest zawsze oparta na drzewach, kiedyś było std::hashmap, ale wycofano się z tego, a w nowym standardzie jest std::unordered_map, jak ktoś chce mapęopartą na tablicach haszujących
@GrabkaMan: tablica to praktycznie wskaźnik który pokazuje na zerowy element. to tak jakbyś pokazywał palcem na zerowy element i przesuwał się. zapis t[2] oznacza że przesuwasz wskaźnik o 2. o dwa czego? o dwa rozmiary elementów tablicy (czyli *(t+2) ). Kopiowanie polega na wydobyciu z tablicy źródłowej wartości i przypisaniu do docelowej.
Jeśli wysyłasz tablice, to tak jakbyś wysyłał wskaźnik, zatem operujesz na oryginałkach. Tablica nie jest przekazywana przez wartość, ponieważ
raz musiałem zrobić algorytm w celu znalezienia słowa w tablicy znaków (planszy, czyli dwuwymiarowej). Musiałem zaczerpnąć rekursji oczywiście, zrobiłem sobie klase z planszą oraz wymiarami. Zrobiłem deklarację funkcji która pobierała hasło, koordynaty planszy i tyle. Myślałem wtedy jak zdobywać kolejne znaki. stworzyłem argument specjalnie dla wywołań rekurencyjnych, indeks poszczególnych literek. Jeśli doszedłem (xD) do długości stringa to wtedy algorytm kończył
@paffnucy: @NiecoCiekawszyNick: @kuhar: Rozwiązałem problem inaczej. Stworzyłem klase z tymi wszystkimi polami następnie w klasie wyżej stworzyłem vectora z tej klasy więcej można zobaczyć tu :