@xmesaj2: Problemy są dwa: błędy w tłumaczeniu (w internetach można znaleźć wiele przykładów rozdzierania szat nad błedami językowymi i merytorycznymi) ale również aktualizacje (chcesz kupić wydanie VI PL, a czy to jest najnowsze EN?).
Praty czytałem książkę o C i była całkiem niezła. A może coś od twórcy C++? Miałem książkę w ręku, treść była akceptowalna.
  • Odpowiedz
Cześć,
mam takie małe pytanie: Jaki jest najlepszy sposób na dołączenie GUI do pliku .dll w #qt i #cpp ?
Program i tak będzie działał tylko na windowsie więc sposób może być "typowo" na windowsa. Chodzi o to żeby po zainjectowaniu .dll do jakiegoś procesu pojawiło się GUI aby zwiększyć prostotę obsługi takiego programu, bo w konsoli to tak średnio będzie. I tutaj właśnie moje pytanie, czytałem że
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@morsisko: Czyli chcesz zrobić bibliotekę (która po załadowaniu będzie swego rodzaju aplikacją), a nie aplikację?

Nie wiem czy Ci się to uda. Zależy, czy firefox (o ile w nim docelowo chcesz ładować swoją dllkę) pozwala na integrację pętli zdarzeń i czy załadowana dllka będzie w głównym wątku aplikacji (a bardzo w to wątpię).

Tak czy inaczej, to wykracza trochę poza moją wiedzę.
  • Odpowiedz
(która po załadowaniu będzie swego rodzaju aplikacją), a nie aplikację?

Tak. Głównie dlatego że od momentu gdy jestem częścią procesu mogę łatwo czytać pamięć i używać "kodu" assemblera(__asm) na czym najbardziej mi zależy. :P
  • Odpowiedz
Może mi ktoś wytłumaczyć jak pięciolatkowi, dlaczego lepsze jest zmienianie prywatnych zmiennych za pomocą publicznych funkcji, zamiast robienie ich od razu publicznymi zmiennymi? Przecież to wychodzi dokładnie na to samo, tylko dłużej i więcej kodu. Przeczytałem wyjaśnienia z pierwszych 10 wyników google i wszystkie sprowadzają się do "kiedyś zrozumiesz jak cośtam". No właśnie chciałbym wiedzieć jakie "cośtam".
#programowanie #cpp

  • 28
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Goryptic: robisz to w funkcji, która ma ustawiać wartość zmiennej. W podanym przeze mnie przypadku będzie.
Void setTemp(float val){
If (val >= 0 && val < 100) temp =val;
}
  • Odpowiedz
@Goryptic: bo jak masz czerwone auto i chcesz zmienić jego kolor bez zmiany całej obudowy to zmieniasz farbę na obudowie a nie całą obudowę albo lakier. Metody publiczne używane są przez zewnętrzne klasy i API, wiec musisz pilnować INNYCH żeby zmieniając kolor auta nie podpieprzyli zderzaków na null.
  • Odpowiedz
#cpp #programowanie

Mirki, co będzie najwydajniejszą metodą przechowywania danych wczytywanych z bazy danych w postaci stringów? Czy tablica 2D: std::vector< std::vector< string > > będzie okej, czy są może jakieś sprawniejsze sposoby?
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@adek_es: Jak było napisane wyżej, zależy to od sposóbu dostępu do danych (kolejno, czy po indeksie), ilości zapisów/odczytów i wreszcie ilości danych.
W programach często wystepuje zasada 20/80 - 20% kodu jest odpowiedzialne za 80% czasu pracy programu. Jeżeli te dane nie są krytyczne w odniesieniu do wydajności, lub jest ich niewiele, możesz spokojnie olać kwestię optymalizacji i skupić się na pisaniu kodu, który będzie czytelny i łatwy w utrzymaniu.
  • Odpowiedz
@lukasz1985m: C++ jest obecnie językiem średniego poziomu - nie ma garbage collectora, kod musi być osobno kompilowany na każdą platformę, na program ma wpływ kolejność bitów używana przez procesor, masz bezpośredni dostęp do pamięci, możesz wstawiać wstawki asm, ma dość ubogą bibliotekę standardową (w porównaniu np. do Javy czy C#), niskopoziomową obsługę wyjątków (Java też to odziedziczyła, tak na marginesie).
  • Odpowiedz
Przykład mam prawie że dokładnie taki jak w książce a nie trybi.
http://pastebin.com/M8LTjwJ7
expected type-specifier before '(' token void operator (const typ x) const
oraz no match for call to '(Gruszka <>)(int&)'
Co jest źle? Mam utworzyć funkcję jednoargumentową, która może być używa wraz z std::for_each w celu wyświetlenia podwojonej wartości parametru wejściowego.
#programowanie #naukaprogramowania #cpp
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Zagadka, dlaczego gdy chcę zwrócić adres funkcji (wskaźnik do funkcji) a jest ona typu void, wszystko jest ok, a jak tylko zmienię ją na int, już przestaje działać?
W linku 2 kody oddzielone -------. Górny działa, dolny nie, jedyna różnica to 3x void zmienione na 3x int.

//tutaj jest błąd
//return value type does not match the function type

http://ideone.com/d326Ib
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #cpp #mfc #naukaprogramowania

Wiem, że pod pierwszym z tagów tego typu pytania nie są lubiane, ale może ktoś poleci dobrą książkę albo dobre materiały do nauki MFC. Zależy mi na praktycznym podejściu. Mam "MFC. Czarna księga", ale jest trochę ciężkostrawna. Może być po angielsku. Za dobre porady oferuję plusy ( ͡$ ͜ʖ ͡$)
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

A musi być koniecznie MFC ? Jak nie, to proponuję bardzo podobną alternatywę, mianowicie wxWidgets. Jest to framework bazujący mocno na MFC. Na sieci masz sporo tutoriali oraz bardzo dobrze opisaną dokumentację.
  • Odpowiedz
Jeżeli kompilator przy przeładowaniu funkcji rozpoznaje dwie tablice wielowymiarowe (różniące się np. ostatnim wymiarem) jako osobne obiekty, dzięki czemu przeładowanie funkcji jest możliwe (kompilator wybiera do którego wariantu przeładowania wsadzić daną tablicę wielowymiarową)

to....

dlaczego ta sztuczka nie działa z tablicami jednowymiarowymi?
Innym słowy
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Phallusimpudicus: ogolnie przekazywanie tablic powoduje niejawna konwersje na wskaznik. jesli chcesz przeladowac funkcje dla roznych rozmiarow tablicy musisz uzyc referencji. w interfejsie takiej funkcji znak & musi byc w nawiasie, inaczej bedzie to traktowane jako tablica referencji (nielegalne xd)
  • Odpowiedz
Wydawało mi się, że do programowania w CUDA wystarczy jakiś sensowny GTX (jeden).
Otóż nie, właśnie przekonuję się na własnej skórze, że do sensownego programowania w CUDA potrzeba albo drugiego kompa z taką kartą do którego łączymy się zdalnie i na nim odpalamy swój program albo dwóch kart graficznych gdzie jedna nie jest podłączona do żadnego monitora tylko do obliczeń albo karta + APU i to jest chyba najbardziej sensowna opcja. Wtedy
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cout sie mnoży bo wewnątrz quicksorta wołasz kolejne znowu quicksort. Każde wywołanie quicksort to 1 cout .
  • Odpowiedz
Ktoś ostatnio polecał do nauki C++ filmy Mirosława Zelenta, pooglądałem, parę rzeczy mi się rozjaśniło. Zaczął tam w kursie pokazywać jak robić aplikacje okienkowe w Borland Builderze 6. Mam Visual Studio i coś podobnego jak mniemam, czyli Windows Forms widzę, ale tylko przy C#. Ktoś wie czy coś z tym można zrobić?

Chcę się tego teraz trochę pouczyć i zastanawiam się skąd, poleciłby ktoś coś dobrego?
Mam tego VS-a i nie wiem
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

robić aplikacje okienkowe w Borland Builderze 6.


Z którego wieku ten kurs jest?

Odnośnie obecnego stulecia, proponuję jednak nauczyć się Qt.
  • Odpowiedz
Jeżeli mam np taki kontener multimap nazwa; to wiem, że żeby dostać się do któregoś z elementu wystarczy, że zrobię iterator ->first.c_str(); albo iterator->second. A gdybym miał taki multimap? Jak dostać się do reszty elementów?
#programowanie #cpp #stl #naukaprogramowania
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

trochę nie ogarniam funkcji w #cpp, a wypadałoby w końcu
wiadomo, po poradniki jeszcze sobie sięgnę, ale w kodzie mam co chwilę powtarzający się kawałek, który muszę wykonać, żeby skopiować tablicę, bo tą drugą ciągle przestawiam
da się to upchnąć w funkcję, żebym tylko wywoływał kopiowanie?

for(i=0;i<100;i++)
  • 18
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@inplaz: A czy ja gdzieś powiedziałem że czuje się wyżej? Ja tylko stwierdziłem że pewne rozwiązania do projektów są niepraktyczne i powodują że człowiek więcej czasu traci na zrobienie tego samego tak jak np na Windows z WinApi
  • Odpowiedz