Mirki i Mirabelki z #wroclaw, którzy interesują się #cpp, ze szczególnym uwzględnieniem #cpp11, #cpp14 i #cpp17 - będę prowadził mini kurs C++ ze złożoności obliczeniowej i biblioteki STL. Jeśli chcecie poszerzyć waszą znajomość C++, bo np. chcielibyście pracować jako programiści C++ to gorąco zachęcam. Tylko 3 lekcje po 5 godzin + prace domowe i projekt (opcjonalnie). Nielimitowane konsultacje online.
Wszystko
Wszystkie
Archiwum
4
Gra wyścigowa ze zbieraniem burgerów po drodze - Car Race cz. 1
Jest to pierwsza część projektu Car Race. Jest to gra wyścigowa gdzie aby mieć punkty trzeba zbierać burgery i aby zabić wrogów trzeba do nich strzelać z auta.
z- 1
- #
- #
- #
- #
- #
- #
7
Triki C++: IIFE do inicjalizacji zmiennych
Dzięki wyrażenim lambda z C++11 możemy teraz wykorzystać ciekawy pattern do inicjalizacji zmiennych. Szczególnie przydatne kiedy inicjalizacja zajmuje pare kroków i blokuje to użycie "const". Czy używacie takiego stylu w swoich projektach?
z- 0
- #
- #
- #
12
Historia wyrażeń Lambda: od C++03 do C++20 (część 1)
W artykule śledzimy historie jednego z potężnych narzędzi nowoczesnego C++: wyrażeń lambda. W pierwszej części zaczynamy od C++03 i kończymy na C++14. Zobacz jak zmieniała się ta część jezyka C++.
z- 1
- #
- #
- #
- #
będę prowadził mini kurs C++ ze złożoności obliczeniowej i biblioteki STL
349 zł
@LordLukin: xD Na udemy dają przeceny po 90%. ( ͡° ͜ʖ ͡°)
- 1
@JakTamCoTam: Ah, wieczna promocja. Jeszcze nie widziałem, żeby coś tam nie było przecenione o 90%. Z czego Ci trenerzy tam żyją? ( ͡° ͜ʖ ͡°)
#sprzedam #krakow
Mirki mam do sprzedania parę książek z #programowanie #informatyka
1. Skuteczny nowoczesny C++ z 2015 roku, tematyka c++11 i c++14 #cpp #cpp11 #cpp14
~30
2. Thinking in java wydanie IV wersja polska ~35 zl #java
Mirki mam do sprzedania parę książek z #programowanie #informatyka
1. Skuteczny nowoczesny C++ z 2015 roku, tematyka c++11 i c++14 #cpp #cpp11 #cpp14
~30
2. Thinking in java wydanie IV wersja polska ~35 zl #java
- 2
@kebab-case no cóż, mi dużo rozjaśniła i pomogła zwłaszcza na studiach.
- 2
@rozowy_mikro: no to gratulacje, to wszystko jeszcze przede mną, 1 rok infa here xD
#cpp #cpp11 #programowanie #kompikownia
Witajcie :) Słyszeliście o tzw. wyrażeniach lambda? Nie? To dobrze, bo właśnie teraz masz okazję je poznać :)
Zapraszam do lektury mojego najnowszego wpisu poświęconego wyrażeniom lambda.
https://www.kompikownia.pl/index.php/2018/12/15/wyrazenia-lambda-uzyteczna-nowosc-c11/
Jeśli ci się podobało, nie zapomnij o like'u na moim fanpage.
Witajcie :) Słyszeliście o tzw. wyrażeniach lambda? Nie? To dobrze, bo właśnie teraz masz okazję je poznać :)
Zapraszam do lektury mojego najnowszego wpisu poświęconego wyrażeniom lambda.
https://www.kompikownia.pl/index.php/2018/12/15/wyrazenia-lambda-uzyteczna-nowosc-c11/
Jeśli ci się podobało, nie zapomnij o like'u na moim fanpage.
- 2
#cpp #cpp11
Możecie mi polecić jakieś środowisko do pisania w c++ pod linuksa, żeby uwzględniało c++11 w szczególności sharedptr? Przykładowo mam jakiś sharedptr do obiektu, robię sobie do niego kropkę i... nic. Powinno samo zamienić mi na -> i pokazać dostępne metody.
Jak już napiszę takie coś z ręki, kliknę z ctrl na metodę i nie przenosi mnie do implementacji. ( ͡° ʖ̯ ͡
Możecie mi polecić jakieś środowisko do pisania w c++ pod linuksa, żeby uwzględniało c++11 w szczególności sharedptr? Przykładowo mam jakiś sharedptr do obiektu, robię sobie do niego kropkę i... nic. Powinno samo zamienić mi na -> i pokazać dostępne metody.
Jak już napiszę takie coś z ręki, kliknę z ctrl na metodę i nie przenosi mnie do implementacji. ( ͡° ʖ̯ ͡
- 1
@Golem_Piotr: masz rację, dziękuję.
- 13
Właśnie udostępniłem oprogramowanie do sterowania frezarką CNC o nazwie Frezia bezpośrednio z poziomu Raspberry Pi.
Repozytorium github https://github.com/pantadeusz/raspigcd
Wideo z działania https://youtu.be/KTBCnEE6s4s
Oprogramowanie akceptuje uproszczony G-CODE i emituje sygnały na piny Raspberry za pomocą bezpośredniego dostępu do rejestrów. Wyróżnia się tym, że nie wymaga dodatkowego mikrokontrolera typu Arduino (czy innych wynalazków z którymi należy się komunikować przez USB/UART/LPT).
Repozytorium github https://github.com/pantadeusz/raspigcd
Wideo z działania https://youtu.be/KTBCnEE6s4s
Oprogramowanie akceptuje uproszczony G-CODE i emituje sygnały na piny Raspberry za pomocą bezpośredniego dostępu do rejestrów. Wyróżnia się tym, że nie wymaga dodatkowego mikrokontrolera typu Arduino (czy innych wynalazków z którymi należy się komunikować przez USB/UART/LPT).
- 1
- 1
@a231: Ponieważ to jest część trochę większego projektu i musiałem na szybko poradzić sobie z zależnościami, więc są one obsługiwane skrypcikiem w Node (czasami szybciej coś napiszę niż znajdę gotowe rozwiązanie pasujące dokładnie do mojego problemu). https://github.com/pantadeusz/raspigcd/blob/master/CMakeLists.txt#L51
Wiem, trochę to nietypowe ;)
Wiem, trochę to nietypowe ;)
#programowanie #pracbaza #praca #pracait #ofertypracy #programista15k #cpp #cpp11 #cplusplus #katowice #slask
Znacie jakieś ciekawe firmy zatrudniające programistów C++ (nie koniecznie wolne miejsca "na już") w Katowicach? Jakieś opinie o nich? Ile można tam zarobić w porównaniu do Warszawy, Krakowa czy Wrocławia? (mid/mid-senior)
Znacie jakieś ciekawe firmy zatrudniające programistów C++ (nie koniecznie wolne miejsca "na już") w Katowicach? Jakieś opinie o nich? Ile można tam zarobić w porównaniu do Warszawy, Krakowa czy Wrocławia? (mid/mid-senior)
@ThrowAway1369 flytronic?
- 0
@ThrowAway1369: @ThrowAway1369: Może zerknij na stronę @nofluffjobs ? Tam są oferty z Katowic, ale też zdalne.
- 2
- 0
@zwei: daj znać jak się dowiesz, też jestem ciekaw. Jedyne co mi przychodzi do głowy co pasuje do "listy typów" to variant+visit()/apply_visitor(), ale to znowu słabo do wzorca się odnosi imo
- 3
Hej,
http://codingways.blogspot.de/2012/08/implementing-thread-safe-queue-in-c11.html
Mam dwa pytania.
1. Po co używać tutaj
http://codingways.blogspot.de/2012/08/implementing-thread-safe-queue-in-c11.html
Mam dwa pytania.
1. Po co używać tutaj
std::shared_ptr
Jeśli będę chciał użyć shared_ptr
to sobie dam za T
więc gość chciał za dobrze? Dobrze myślę?@bartis55: wydaje mi się, że opowi nie chodziło o to, dlaczego ta kolejka jest szablonem i używa T, tylko dlaczego metoda Pop() używa
std::shared_ptr
zamiast po prostu zwracać T@xaoc 1 imo przedobrzył. Wystarczyło zrobić kopię obiektu i ją zwrócić. Niczego tym nie zyskał (dalej wymaga copy constuctable). Zresztą - dlaczego miałoby tu być race cond? Można 2x zpopować element?
- 1
Mam klasę abstrakcyjną Blob z funkcjami wirtualnymi Blob::fromArray(const QByteArray& raw) i Blob::toByteArray()->QByteArray. Weźmy jej klasę pochodną, Matrix; przeciążyłem operatory QDataStream w taki sposób:
QDataStream& operator<<(QDataStream& stream, const Matrix& in) {
stream << in.toArray();
}
QDataStream& operator>>(QDataStream& stream, Matrix& out) {
- 5
@Dijuna: użyj crtp, wtedy twoja klasa matrix będzie wyglądać tak: class Matrix : public Blob
- 1
@Dijuna: musisz użyć this->set, albo odwołać się do namespace klasy, taki "problem" występuje zawsze, gdy dziedziczysz po szablonie, http://stackoverflow.com/questions/6592512/templates-parent-class-member-variables-not-visible-in-inherited-class
- 1
Mam taką sytuację (bez strachu, kilka linijek tam jest i proste ale na Wykopie mało przejrzyście): http://pastebin.com/U5B9NTd1
No i teraz:
1) Czy usunięcie MyClassB spowoduje wywołanie tak destruktora MyClassB, jak i MyClass czy muszę się jakoś odwołać z destruktora MyClassB do MyClass, np. funkcją MyClass::del() w każdym z destruktorów?
2) Czy usunięcie MyClassA spowoduje wywołanie destruktora MyClass, czy też muszę uczynić destruktor MyClass wirtualnym żebym to się stało?
#cpp #
No i teraz:
1) Czy usunięcie MyClassB spowoduje wywołanie tak destruktora MyClassB, jak i MyClass czy muszę się jakoś odwołać z destruktora MyClassB do MyClass, np. funkcją MyClass::del() w każdym z destruktorów?
2) Czy usunięcie MyClassA spowoduje wywołanie destruktora MyClass, czy też muszę uczynić destruktor MyClass wirtualnym żebym to się stało?
#cpp #
- 0
@lionbest: ten void* to tam sobie dodałem tak tylko dla przykładu. zresztą, delete na staticcast(this->voidptr) już ma sens. ale dziękuję za odpowiedź. :)
- 0
@Dijuna: Generalnie to tak jak masz napisane to powinieneś mieć virtual przy destruktorze, żeby działało zawsze (w MyClass). Dopóki nie pokażesz więcej kodu trudno powiedzieć co się stanie.
#naukaprogramowania #cpp #cpp11 #programowanie
hej, w jaki sposób byście zaimplementowali metodę "isAnime()" ?
if( op.image.isAnime() == true )
reply("[redacted]");
hej, w jaki sposób byście zaimplementowali metodę "isAnime()" ?
bool isAnime() {
return false;
}
@xan-kreigor: trzeba uzyc sieci neuronowej (tyle ze siec bedzie, nomen omen, białkowa) - twoja aplikacja uzywajac wykopapi wrzuci obrazek na mirko z tagami cebuladeals i programowanie, potem pobierasz komentarze jak w trescu komentarzy bedzie slowo "anime" lub "gowno" to znaczy ze obrazek jest anime
- 2
kod na pastebin
Mam sobie taki kod, to nie jest prawdziwy program tylko wyciągnąłem samą zasadę działania żeby działało jak najprościej i można było sobie wkleić jak ktoś ma Qt Creatora:
1) Mam listę obiektów i nie chcę w żaden sposób na nią wpłynąć,
2) Chcę wybrać kilka jej elementów (w przykładzie: te których nazwa nie jest pusta, lista indeksów) i posortować na podstawie jakichś ich wartości,
3) Chcę otrzymać listę indeksów do tej oryginalnej listy, posortowanych z użyciem tych wartości.
Mam sobie taki kod, to nie jest prawdziwy program tylko wyciągnąłem samą zasadę działania żeby działało jak najprościej i można było sobie wkleić jak ktoś ma Qt Creatora:
1) Mam listę obiektów i nie chcę w żaden sposób na nią wpłynąć,
2) Chcę wybrać kilka jej elementów (w przykładzie: te których nazwa nie jest pusta, lista indeksów) i posortować na podstawie jakichś ich wartości,
3) Chcę otrzymać listę indeksów do tej oryginalnej listy, posortowanych z użyciem tych wartości.
- 1
http://pastebin.com/t36Ma2wC
Błąd jak na obrazku, plik na pastebin... nie wiem co robię nie tak. ;c
Błąd jak na obrazku, plik na pastebin... nie wiem co robię nie tak. ;c
QList::indexOf
przyjmuje const T&
za argument, dlaczego więc nie przechodzi to co próbuję mu podać? ( ͡° ʖ̯ ͡°)Czesc,
chcialem napisac sobie funkcje compile-time, ktora zsumuje mi sizeof kazdego elementu w std::tuple, kod wyglada tak:
http://ideone.com/yNH8S3
dziala. Niby. Chcialem dodac sobie constraint za pomoca enable_if tak aby liczone to bylo tylko dla typow POD. Pozniej chce zrobic druga wersje dla mojego specjalnego typu, ew. wymagac, zeby klasy non-POD mialy metode size(). Tutaj cos mi sie wywala i kompilator na mnie krzyczy. Za cholere nie moge dojsc o co mu chodzi. (nie jestem master w metaprogramowaniu wiec pytam tu)
chcialem napisac sobie funkcje compile-time, ktora zsumuje mi sizeof kazdego elementu w std::tuple, kod wyglada tak:
http://ideone.com/yNH8S3
dziala. Niby. Chcialem dodac sobie constraint za pomoca enable_if tak aby liczone to bylo tylko dla typow POD. Pozniej chce zrobic druga wersje dla mojego specjalnego typu, ew. wymagac, zeby klasy non-POD mialy metode size(). Tutaj cos mi sie wywala i kompilator na mnie krzyczy. Za cholere nie moge dojsc o co mu chodzi. (nie jestem master w metaprogramowaniu wiec pytam tu)
@TheNewIcek: sorry, ale słabo u mnie z czasem ( ͡° ʖ̯ ͡°).
Podrzucam to, może w jakiś sposób ci ułatwi robotę - wpis o sprawdzaniu, czy obiekt posiada składową o danej nazwie:
http://jguegant.github.io/blogs/tech/sfinae-introduction.html#sfinae-introduction
Podrzucam to, może w jakiś sposób ci ułatwi robotę - wpis o sprawdzaniu, czy obiekt posiada składową o danej nazwie:
http://jguegant.github.io/blogs/tech/sfinae-introduction.html#sfinae-introduction
- 0
@GitLog: fajny link. thx
- 1
Mirki z #programowanie #cpp #cpp11 najlepiej #lodz ale mogą być też inne miasta.
Poszukuje konkretnego i dobrego szkolenia z C++ dla grupy osób. Poziom szkolenia żeby był od średniego do nawet mocno zaawansowanego. Znacie jakieś dobre kursy które możecie polecić?
Poszukuje konkretnego i dobrego szkolenia z C++ dla grupy osób. Poziom szkolenia żeby był od średniego do nawet mocno zaawansowanego. Znacie jakieś dobre kursy które możecie polecić?
- 5
Poziom szkolenia żeby był od średniego do nawet mocno zaawansowanego
@Kramarz: nie wiem ile osób w Polsce zna ten język na takim poziomie, ale na pewno nikt z nich nie prowadzi szkoleń.
- 3
@Kaczus2B:
GUI to po prostu biblioteka, to nie szkolenie z C++.
Szkolenie z C++ (11) mogłoby obejmować:
- pisanie wydajnych programów (to że C++ jest szybki nie oznacza, że nie da się napisać wolnego programu)
- nowoczesne zarządzanie pamięcią za pomocą inteligentnych wskaźników i braniem pod uwagę
GUI to po prostu biblioteka, to nie szkolenie z C++.
Szkolenie z C++ (11) mogłoby obejmować:
- pisanie wydajnych programów (to że C++ jest szybki nie oznacza, że nie da się napisać wolnego programu)
- nowoczesne zarządzanie pamięcią za pomocą inteligentnych wskaźników i braniem pod uwagę
- 1
#cpp #cpp11 da się czy się nie da przykleić wskaźnik do nie do tablicy lecz jej pola ? #pytaniedoeksperta
long long int counter[MAX_NUM_TH];
long long int* wsk_array_ele_io;
wsk_array_ele_io=counter[my_data->thread_id];
//(...)
wsk_array_ele_io+=1;
- 3
@dzaku: koledze chodzi o to, że w C++11 i nowszych odradza się grzebanie bezpośrednio na wskaźnikach jeśli nie trzeba. Ogółem prawdopodobnie masz skopany design kodu skoro takie rzeczy musisz robić (po nazewnictwie zmiennych też mógłbyś się czegoś nauczyć ;)).
A ogółem jeszcze lepiej to nie korzystać z gotowych tablic tylko:
- jeśli znasz rozmiar podczas kompilacji to std::array,
- a jak nie to std::vector z opcją resize(n) jeśli znasz z góry rozmiar podczas
A ogółem jeszcze lepiej to nie korzystać z gotowych tablic tylko:
- jeśli znasz rozmiar podczas kompilacji to std::array,
- a jak nie to std::vector z opcją resize(n) jeśli znasz z góry rozmiar podczas
#programowanie #cpp #cpp11
Natomiast operator też może być zadeklarowany jako członek klasy, wtedy pierwszy z argumentów jest przekazywany jako
this
i wydaje mi się, że o taką różnicę pytasz.Pomijając cztery operatory (
=
,[]
,()
,->
), które muszą być zadeklarowane jako członek klasy, to są tylko dwie znaczące sprawy.Pierwszą jest dostęp do zmiennych prywatnych. Operator zadeklarowany jako członek klasy ma do nich dostęp, operator poza klasą, który nie jest zadeklarowany jako przyjaciel, nie ma dostępu. Jednak można nie tylko zadeklarować, ale i podać całą definicję operatora