Szablony w #cpp

Ktoś byłby w stanie podać realne zastosowanie tego? W pewnym momencie zaczyna się pisać jakieś super programy, które wymagają pisania własnych szablonów, czy jednak da się wszystko robić na kontenerach? Bardzo w to wątpię i mam wrażenie, że coś mi umyka. Coś dużego xD

Robię program do zarządzania magazynem komponentów elektronicznych i z racji, że jest to projekt na studia, muszę tu gdzieś na siłę wcisnąć szablon,
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@greebqmaster: z dziedziczeniem jest tak, że nie powinno się go stosować, dopóki nie jest niezbędne. Jako przykład niech będzie własny algorytm sortowania dla dwóch typów danych. Nie ma sensu pisać dwóch funkcji, które działają identycznie, skoro można napisać jeden szablon i mieć to z głowy. Kod jest wtedy bardziej czytelny.
  • Odpowiedz
@greebqmaster: Jest jeszcze jedna bardzo wazna sprawa szablony (musialem sie kurde kilka minut zastanawiac co to jest) sa szybsze. Sporo obliczen jest wykonywana podczas kompilacjii.
  • Odpowiedz
Cześć. Jestem laikiem z C. Szukam sposobu aby zapisać do zmiennej zawartość pliku zawierającego NUL bytes (dokładnie jedna linijka ze argumentami oddzielonymi \0). Jest możliwe osiągnięcie w ogóle czegoś takiego? Być może przez moje małe doświadczenie z tym językiem ciągle gdzieś mijam się z odpowiedzią ...

Będę wdzięczny za wszelką pomoc, pozdrawiam.

  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Potrzebuję pomocy. Muszę napisać do końca semestru program w C/C++ na zaliczenie. Niestety kompletnie nie mam pomysłu co mógłbym napisać. Ćwiczeniowiec powiedział, żebym napisał program całkujący wielomian, ale ja wolałbym odejść od matmy i zrobić coś bardziej praktycznego. Możecie zarzucić jakimś pomysłem? A może jakaś fajna gra?

#pomocy #pytanie #kiciochpyta #programowanie #cpp
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@pejczi: Z tym, że tablica ma 40 elementów - czyli zakres indeksów od 0 do 39. Przy ostatniej iteracji pętli wyjdziesz poza zakres tablicy i zaczniesz "mazać po pamięci", co prawdopodobnie doprowadzi do crasha. Dodatkowo w 1 elemencie tablicy zawsze będą śmieci.

btw. Jeśli deklarujesz tablicę POD, to inicjalizuj ją = {0}; - "wyzeruje" to jej zawartość.
  • Odpowiedz
Postanowiłem, że napisze prostego CMSa w C++. Tak dla funu i szlifowania c++. Lubie webowe klimaty i jednocześnie c++ jest czymś co chcę masterować.
Jedyne z czego chce korzystać to biblioteki do CGI/FCGI, ewentualniejakieś parsery do JSONa bo pewnie mi się nie będzie chciało pieprzyć z takimi rzeczami. Jak bardzo jestem p----------y?
#cpp #cplusplus #include #programowanie #webdev
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak dodać do projektu w c++ w Visual Studio 2015 libkę w formacie .lib? Zrobiłem tak jak tu piszą, ale nie działa
https://msdn.microsoft.com/en-us/library/ba1z7822.aspx

Czyli dedukuję, że ze ścieżką jest coś nie tak- więc wpieprzyłem libkę do katalogu głównego- no i nie działa. Czy tą libkę muszę wpakować w jakieś specjalne miejsce, czy tam muszę podać w tym Additional Dependencies jakąś specjalną ścieżkę?

#cpp #programowanie #visualstudio
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@b0lec: dodajesz ścieżkę do .lib w "Library Directories" w zakładce "VC++ Directories" danego projektu. Upewnij się, że zmieniasz ustawienia dla właściwej konfiguracji(np. zmieniasz Release, a próbujesz odpalić Debug).
  • Odpowiedz
Troche #chwalesie bo udalo mi sie napisac tetrisa na cmd.
Chyba potem przepisze go do jakiegoś normalnego środowiska graficznego bo przez to migotanie przy odświeżaniu można dostać po pewnym czasie raka

Jakby ktoś chcial sie pośmiać to zapodam nawet kod źródłowy ( )
Source:
Syrenamen - Troche #chwalesie bo udalo mi sie napisac tetrisa na cmd.
Chyba potem pr...

źródło: comment_wib7qOiCd2PKerc2u1SuWzqiDWBFxtu1.jpg

Pobierz
  • 18
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Syrenamen: system("cls") tworzy nowy proces powłoki, wyszukuje program cls i go wstawia w miejsce nowo utworzonego procesu a dopiero potem wykonuje właściwą robotę - z pomiarów wychodzi ok. 0.1s do 0.2s - czyli całkiem sporo. Czyszczenie znakami to ok. 0.001s (tzn. znacznie lepiej).

Druga uwaga:
WskTablicaKlockow = new klocek;
WskTablicaKlockow->DefinicjaKlocka(0, 1, 1, 2, 1, 0, 1, 0,
  • Odpowiedz
#programowanie #cpp

Mam do wykonania pewien projekt i muszę użyć w nim bottom-up merge sorta.
Kiedy już wszystko napisałem, okazało się, że dzieję się coś dziwnego.

Kod obrazujący problem:
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@xyz333: Może wynika to z zarządzania pamięcią przez system. Ale muszę powiedzieć że i tak wyciągasz świetne czasy. U mnie minimalne czasy są na poziome 6000ms (,) No, ale zachciało się laptopa.
  • Odpowiedz
Potrzebuję ogarnąć do egzaminu z C++ teorię z obiektowki i STL'a typu "jaki kontener uzylbys do tego i tamtego", albo "znajdź w kodzie błąd powodujący wycieki pamięci". Czy ktoś zna jakąś stronę z ładnie upakowana wiedzą z tego zakresu? Wiem, że to brzmi jak "macie jakieś materiały, żeby ogarnąć c++ w 10 stronach",ale chodzi mi o jakiś hm... Zbiór najważniejszych rzeczy, pojęć, cokolwiek. Nie wiem czy coś takiego istnieje w ogóle, może
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam pytanie. Dopiero zaczynam się bawić w programowanie. Używam Xcode i Codeblocks. Macie jakieś wskazówki, tricki i przydatne porady przy pracy z IDE? Nie znam wszystkich możliwości tych programów, a na pewno znajomość niektórych rzeczy może mi bardzo pomóc i ułatwić życie.

#pytanie #programowanie #xcode #cpp
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #cpp

Siema mam pytanie jak stworzyć funkcję, która będzie nam pokazywała na jakich pozycjach występuje największy element w tablicy. Funkcję, która pokazuje mi największy element/y mam tylko chciałbym teraz żeby pokazywał na jakich pozycjach się znajduje. Liczę na odpowiedź.
Pozdrawiam Damian
  • 22
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #cpp #cpp14
Jeżeli mam sobie takie pliczki:
http://pastebin.com/Qn0p3U9z
mam #include "globals.h" w main.cpp i globals.cpp, ale planuję by było wszędzie, takie wartości stałe i globalne. No ale funkcja Globals::_use_shares() jest wywoływana dwa razy... qDebug jak tam dam to odzywa się dwa razy... nie rozumiem dlaczego, tzn. jak zrobić żeby tak nie było?
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #cpp

Murki problem. Robię teraz program, który ma mi sprawdzać kolejne liczby czy są podzielne przez 3 bez reszty, jeżeli tak to ma dodawać liczbę 3 do siebie. NP. Ciąg od 1 do 6:
1,2,3,4,5,6 - w nim dzieli się przez 3 tylko 3 i 6 więc powinienem dostać wynik 6 (bo 3 + 3).
No i jest ok, to działa, ale dla ciągu nie dłuższego niż
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 4
@davidero69: protip dla Ciebie.
pytając kogokolwiek w sieci o pomoc z programowaniem zawsze:
a) wklej kod na pastebin.com i podeślij linka
b) wklej dokładny komunikat błędu.
w ten sposób zaoszczedzisz czas swój i ludzi, którzy wtedy dopiero będą mogli Ci pomóc. Z pustego to wiesz... Dobranoc
  • Odpowiedz
#programowanie #cpp
mam sobie zainkludowaną bibioteczkę algorythm
i potrzebuje w tablicy X[a][b] zamienić k-ty wiersz z j-tym
piszę swap(X[k],X[j]) i śmiga ?
tablica alokowana dynamicznie jako talica tablic.
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@wytrzzeszcz: czekaj to ty nie mówisz o tablicy kwadratowej tylko o int* X[a] = new int*[b]; a no tak teraz to ma sens ten std::swap no ale jak coś będzie trzymać ten wskaźnik to się tam nie zamieni...
  • Odpowiedz
@idler: Formalnie pętlę for możemy zapisać tak: attr for (init ; condition ; expr) statement
(Pomijamy to, czym jest attr, ale jeśli chcesz doczytać, to proszę bardzo: http://en.cppreference.com/w/cpp/language/attributes

"expr" - ostatni element nagłówka for-a (czyli ten cout) jest po prostu wyrażeniem, które ma się wykonać po ciele pętli określonej przez "statement". Innymi słowy, takiego for-a możemy zapisać w postaci równoważnej pętli
  • Odpowiedz