Mirki++, słuchajcie. Mam dość duże (kilkunastoletnie) doświadczenie w programowaniu. Pisałem kiedyś w C++, ale to było dawno, nieprawda i chyba trochę lameriada. Mam też od czasu do czasu trochę styczności z ANSI C, z prostymi rzeczami nie mam problemu. Chciałbym spróbować iść w kierunku C++, zapewne C++11, ale tym razem porządnie nauczyć się od podstaw. Najlepiej chłonę kompleksowo pokazaną wiedzę, popartą przykładami, z dogłębnym wytłumaczeniem dlaczego tak a nie inaczej. Tylko teraz:
Wszystko
Najnowsze
Archiwum
cochese
- 2
konto usunięte
- 4
@wimc: Nie obejmuje.

KrzaQ2
- 5
Treść przeznaczona dla osób powyżej 18 roku życia...
#programowanie #cpp #javascript
Mirki, potrzebuję sposobu na używanie Javascripta w projekcie C++. W sensie żeby w już skompilowanym używać zewnętrznych skryptów z pliku, bo robię grę w której na JSie mają się docelowo opierać eventy map.
Znalazłem coś co się nazywa CliPP i googlowskie v8.h. Nada się to to czy niekoniecznie? :v
Mirki, potrzebuję sposobu na używanie Javascripta w projekcie C++. W sensie żeby w już skompilowanym używać zewnętrznych skryptów z pliku, bo robię grę w której na JSie mają się docelowo opierać eventy map.
Znalazłem coś co się nazywa CliPP i googlowskie v8.h. Nada się to to czy niekoniecznie? :v
- 7
@kacperski1: Lua / Angel Script do skryptowania
- 2
Pytanie - dlaczego jak chcę przeciążyć operator wyjścia "<<" to przy zdefiniowaniu nagłówka funkcji w postaci:
Dostaję "Too many parameters for this opertator function".
zaś przy zdefiniowaniu jako zaprzyjaźniona funkcja:
ostream& operator<<(ostream& out, Auto& samochod)Dostaję "Too many parameters for this opertator function".
zaś przy zdefiniowaniu jako zaprzyjaźniona funkcja:
@Swiezutki: próbujesz pewnie zdefiniować ją jako metodę klasy Auto, a tak się nie da, bo pierwszym argumentem (ukrytym) będzie 'this'. Musiałaby to być ewentualnie metoda klasy ostream, ale nie możesz modyfikować jej źródeł. Jedyna możliwość to zdefiniować ją jako globalną funkcję i zaprzyjaźnić z klasą.
- 0
@ponton: Dzięki wielkie :)
- 1
Mirki, mam prostą strukturę punktu
struct point {
int x, y;
point()- 2
@piternet: Da się.
- 1
tak, da się, (poprawione) kodziki:
ostream& operator<<(ostream& out, const point& p) { return out << ...; }
istream& operator>>(istream& in, point& p) { return in >> p.x >> p.y; }
(przy czym nie uwzglednilem sprawdzania bledu strumienia i zakladam format inputu "10 20", a nie "(10, 20)")
ostream& operator<<(ostream& out, const point& p) { return out << ...; }
istream& operator>>(istream& in, point& p) { return in >> p.x >> p.y; }
(przy czym nie uwzglednilem sprawdzania bledu strumienia i zakladam format inputu "10 20", a nie "(10, 20)")
System dialogów jest już prawie skończony!
Dodałem wstrzykiwanie zmiennych do tekstu(sprintf) i blokowanie odpowiedzi.
Całą logikę układa się ręcznie w edytorze.
Następny
Dodałem wstrzykiwanie zmiennych do tekstu(sprintf) i blokowanie odpowiedzi.
Całą logikę układa się ręcznie w edytorze.
Następny
źródło: comment_btoTmCcJdU3ElovxKYZWhbWx6Qly8jn3.jpg
Pobierz- 2
- 1
- 1
Czy ta funkcja potrzebuje jeszcze zabawy nad optymalizacją?
1. "czy trafiono" z okresloną szansą - gdy otrzyma mnoznik < 0
1. "czy trafiono" z okresloną szansą - gdy otrzyma mnoznik < 0
@Noct: funkcja sama w sobie jest trywialna i w dodatku O(1), więc wątpię, natomiast:
http://channel9.msdn.com/Events/GoingNative/2013/rand-Considered-Harmful
Użyj : http://www.cplusplus.com/reference/random/
int temp = rand()%100;
http://channel9.msdn.com/Events/GoingNative/2013/rand-Considered-Harmful
Użyj : http://www.cplusplus.com/reference/random/
@Noct: Jak funkcja zwraca inta i robisz 1*mnożnik/100, to ile mnożnik nie jest większy od 100, to zawsze otrzymasz 0. Nie wiem, czy taki był cel, ale nie jest to do końca jasne z tego kodu.
Dlaczego zmienna wskaźnikowa zdolna wskazywać na obiekty o typie klasy bazowej, może także wskazywać na klasy pochodne?
#cpp #programowanie
#cpp #programowanie
@Ajdont: bo obiekt na ktory wskazuje zawiera odnosnik do vtable, ktora jest tablica wskaznikow na metody klasy. Obiekt bazowy zawiera odnosnik do metod bazowych, obiekt klasy pochodnej zawiera odnosnik do metod pochodnych. Poczytaj sobie o vtable : )
- 2
@losiul: vtable jest tworzone tylko, gdy masz jakieś metody wirtualne i myślę, że o to właśnie chodziło @KrzaQ2.
@Ajdont: Pytasz jak to jest zrealizowane, jak to działa "pod spodem"? Czy może pytasz dlaczego tak to zostało wymyślone i dlaczego na to pozwala język?
Na drugie pytanie odpowiedział @blesher i @JanekGreen. Na pierwsze pytanie odpowiedź jest długa i skomplikowana ;) @Losiul częściowo odpowiedział,
@Ajdont: Pytasz jak to jest zrealizowane, jak to działa "pod spodem"? Czy może pytasz dlaczego tak to zostało wymyślone i dlaczego na to pozwala język?
Na drugie pytanie odpowiedział @blesher i @JanekGreen. Na pierwsze pytanie odpowiedź jest długa i skomplikowana ;) @Losiul częściowo odpowiedział,
- 3
Mam dll'kę. Mam nazwę funkcji przez nią udostępnianej. Potrzebuję adresu tej funkcji względem początku modułu dll.
Normalnie po prostu załadowałbym ją i zrobił tak:
Normalnie po prostu załadowałbym ją i zrobił tak:
HMODULE libraryHandle = GetModuleHandle(TEXT("biblioteka.dll"));
void*@NevilX: Nie jest to możliwe. Użyj zewnętrznego procesu albo COM jeżeli biblioteka go wspiera albo możesz ją zmodyfikować.
@NevilX: Znalazłem jakiś wątek na StackOverflow sam oceń czy przydatne czy nie.
http://stackoverflow.com/questions/8776437/c-injecting-32-bit-targets-from-64-bit-process
http://stackoverflow.com/questions/8776437/c-injecting-32-bit-targets-from-64-bit-process
- 1
Nurtuje mnie jedna kwestia dotycząca linkowania. Nie obchodzi mnie pamięć, oraz rozmiar pliku. Chcę aby program uruchomił się na każdym komputerze z Windowsem. Wybrać statyczne linkowanie, czy dynamiczne? Skąd wziąć .dll do standardowych bibliotek c++? #cpp
- 0
@ponton: Mam program wykorzystujący math.h i chciałbym go uruchomić na czystym windowsie. Czy statyczne linkowanie wystarczy, czy będzie wołał o brakujące dll?
- 0
@binerek: Jak zlinkujesz statycznie to nie potrzebujesz DLL. Jak sama nazwa wskazuje, DLL dynamicznie ładowana biblioteka (_dynamic-link library). Przy czym
to część standardowej biblioteki, a tej chyba nie da się linkować dynamicznie.
math.hto część standardowej biblioteki, a tej chyba nie da się linkować dynamicznie.
- 1
@squeezed: didnt see, good job!
- 10
- 6
- 4
@Pustulka Pewnie jeszcze przez jakiś czas tak będzie, ale patrząc na IntelliJ i na PyCharma to mają oni naprawdę duży potenciał na zrobienie czegoś dobrego. Bo w sumie to poza VS (które dopiero teraz jakoś bez resharpera działa), i Qt Creatora to z C++ jest naprawde problem. Strasznie mnie boli to że nie ma takiego dobrego IDE ( w sensie na poziomie IntelliJa)
Mam pytanie do ogarniaczy:
Obecnie pracuje na platformach ARM (BeagleBone/RADXA/CubieBoard). Stworzyłem ogólnie program którego zadaniem jest zarządzanie wszelakimi modułami (SOAP, algorytmy temperaturowe, sterowanie Moxą i GPIO) via server UDP. Wszystko było super, niestety czym dalej w las i czym więcej pojawia się modułów tym python... powoli nie wyrabia (głównie sprawy wielowątkowości i rozbudowania samych klas). Zastanawiałem się nad zmianą języka i po krótkiej analizie wybrałem C++.
Ktoś może pracował w C++ z Boostem
Obecnie pracuje na platformach ARM (BeagleBone/RADXA/CubieBoard). Stworzyłem ogólnie program którego zadaniem jest zarządzanie wszelakimi modułami (SOAP, algorytmy temperaturowe, sterowanie Moxą i GPIO) via server UDP. Wszystko było super, niestety czym dalej w las i czym więcej pojawia się modułów tym python... powoli nie wyrabia (głównie sprawy wielowątkowości i rozbudowania samych klas). Zastanawiałem się nad zmianą języka i po krótkiej analizie wybrałem C++.
Ktoś może pracował w C++ z Boostem
- 0
@aseeon: pytanie: znasz jakąś bibliotekę do testowania np. czasu wywołania danej metody? Czy najlepiej ręcznie do zakodzić? (bo w sumie to tylko kilka linijek...)
konto usunięte via Android
- 0
@Dyzajash: http://zapier.com/engineering/profiling-python-boss/
http://www.huyng.com/posts/python-performance-analysis/
I Google ma sporo takich ;)
http://www.huyng.com/posts/python-performance-analysis/
I Google ma sporo takich ;)
Właśnie wyszedł: http://www.jetbrains.com/clion/
Może wreszcie jakaś konkurencja dla VS!
#programowanie #cpp #jetbrains
Może wreszcie jakaś konkurencja dla VS!
#programowanie #cpp #jetbrains
@PsichiX: Patrz
--> CLion jest do odpalenia na Windowsie, VS też, (oba służą do programowania w C i C++) to bezpośrednia konkurencja
--> CLion możesz odpalić też na linuksie gdy potrzebujesz ide, żeby np przeportować twój świetny program z Windowsa - to jest argument w czym CLion jest lepszy.
A co do pytania to nie ponawiaj, bo twoje pytanie jest złe już w samej konstrukcji, bo zakłada, że VS musi
--> CLion jest do odpalenia na Windowsie, VS też, (oba służą do programowania w C i C++) to bezpośrednia konkurencja
--> CLion możesz odpalić też na linuksie gdy potrzebujesz ide, żeby np przeportować twój świetny program z Windowsa - to jest argument w czym CLion jest lepszy.
A co do pytania to nie ponawiaj, bo twoje pytanie jest złe już w samej konstrukcji, bo zakłada, że VS musi
- 1
@Dyzajash: To mój awatar. :<
#cpp
Ktoś coś na temat Carriage return (powrót karetki) bez używania Insert? Interesuje mnie taki efekt jak na przykładzie:
Ktoś coś na temat Carriage return (powrót karetki) bez używania Insert? Interesuje mnie taki efekt jak na przykładzie:
cout << "druga czesc tekstu.";cout << "\rTo jest pierwsza i ";- 1
Mireczki, skad wziąć bibliotekę curlbuild.h?
Sciągnąłem z gita ale tam są tylko takie:
curlbuild.h.cmake curl.h easy.h mprintf.h typecheck-gcc.h
curlbuild.h.dist
Sciągnąłem z gita ale tam są tylko takie:
curlbuild.h.cmake curl.h easy.h mprintf.h typecheck-gcc.h
curlbuild.h.dist
- 0
@erwit: Poczytaj sobie o CMake ( http://pl.wikipedia.org/wiki/CMake )
- 1
Mirki, jakaś fajna książka do C++? Za czasów gimnazjum zakupiłem Symfonię, ale od tamtego czasu jej nie ruszyłem. Da się z niej uczyć? Bo pisana fajnie, ale skończyłem na pętlach.
#programowanie #cpp
#programowanie #cpp
@wuut: Symfonia to klasyka, zdecydowanie czytaj.
- 2
@wuut: Da się z niej uczyć, ale tam jest stary standard c++.
http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
Co robię źle? Trzecia linia sie nie kompiluje. a,b,y to inty.
vector > *tab;
tab = new vector >[y];
tab[a].push_back(pair(b,1));
vector > *tab;
tab = new vector >[y];
tab[a].push_back(pair(b,1));
- 6
@Arytmetyk: W trzeciej linijce nie powinno być make_pair zamiast pair? http://www.cplusplus.com/reference/utility/make_pair/
Jako że zacząłem klasę maturalną trzeba porządnie się wziąć do nauki przed maturą. Chciałem więc otworzyć sobie w domu projekty z C++, które robiłem w szkole w tamtym roku szkolnym. Zainstalowałem CodeBlocks
ale coś nie do końca pykło. Przy otwarciu pojawia się komunikat:
type of instalation: Full: all plugins, all tools, just everything
ale coś nie do końca pykło. Przy otwarciu pojawia się komunikat:
Environment
- 2
Ostatnio zacząłem ciut bawić się D. Język wydaje się fantastyczny. Najpierw napisałem prostą appkę do pracy, teraz coś, czego od dawna mi brakowało (albo nie umiałem znaleźć): online formatowarkę kodu C++. Wszystko w D (ze wsparciem vibe.d).
Póki co, muszę stwierdzić, ƶe o ile język jest super, tak jak społeczność, to dokumentacja... odbiega od tego do czego przyzwyczaił mnie Qt, msdn, czy ruby.
Kod: https://github.com/KrzaQ/cppformat (nie ma tego wiele, to jest wrapper dla
Póki co, muszę stwierdzić, ƶe o ile język jest super, tak jak społeczność, to dokumentacja... odbiega od tego do czego przyzwyczaił mnie Qt, msdn, czy ruby.
Kod: https://github.com/KrzaQ/cppformat (nie ma tego wiele, to jest wrapper dla
clang-format@KrzaQ2: Było na początku wspomnieć, że napisałeś nie formatowarkę kodu C++, a program do uruchamiania gotowej formatowarki kodu C++.
- 1
Bardzo zgrabnie kod wyglada - niektore featury D trafiaja do C++ - chociazby auto, w C++17 maja (w koncu!) byc moduly i koncepty. Inne wygladaly fajnie na poczatku (makra) ale w C++ masz ulepszone templaty i constexpr obecnie.






















