@TurkusowyRisso: A ja w sumie nie, bo pierwsze słyszę, że ktoś tak to myląco nazywa. Globalne deklaracje to zadeklarowane w globalnej przestrzeni nazw. Natomiast lokalne zmienne czy klasy to takie zadeklarowane w przestrzeni funkcji. Tutaj jedynie można zadeklarować operator w nazwanej przestrzeni nazw i ma znaczenie czy będzie on w tej samej co klasa, jeżeli tak to będzie on widoczny globalnie poprzez mechanizm ADL.
Natomiast operator też może być zadeklarowany jako
  • Odpowiedz
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. Szczegóły i zapisy na stronie Coders School.

Dla was
LordLukin - Mirki i Mirabelki z #wroclaw, którzy interesują się #cpp, ze szczególnym ...

źródło: comment_3M4SXCfoNQcZM0UefSrxObn9EaC7Koih.jpg

Pobierz
#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

3. Introduction to 3d game programming with DirectX 12, Frak Luna, wydanie angielskie - bardzo polecam. ~120 zl #windows10 #directx12

4. Twórz własne gry komputerowe w pythonie. Praktycznie nowa nie używana. Miał być prezent dla
#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. ( ͡° ʖ̯ ͡°)
Piszę na
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).

Działa bardzo elegancko, mimo iż jest to wykonywane na wielozadaniowym systemie Linux (nie real-time).
Wzorzec odwiedzającego zaimplementowany za pomocą listy typów. Proszę o jakiś przykład najprostszy, wskazówkę, jak się za to zabrać, bo mam ochotę sobie wydłubać mózg już. :/

#cpp11 #cpp
@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
  • Odpowiedz
Hej,

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ę?
2. Po co strażnik (std::lock_guard lock(mMut); ) w Empty? I tak po zwróceniu true/false nie wiemy czy kolejka jest pusta lub pełna. Bo locka już nie ma. I w kolejnej operacji wcale nie musi być już pusta.

#cpp11 #cpp #programowanie #wielowatkowosc
@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?
  • Odpowiedz
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) {
QByteArray tmp;
stream >> tmp;
out.fromArray(tmp);
}

Czy dla każdej klasy pochodnej muszę pisać to samo? Skorzystałbym z szablonów, ale nie chcę przeciążać operatorów dla klas innych niż te pochodzące od Blob...
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 #cpp11 #cpp14 #
@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ź. :)
  • Odpowiedz
@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.
  • Odpowiedz
@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
  • Odpowiedz
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
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.
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ć?
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ń.
  • Odpowiedz
@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ę cykli itd
- programowanie wielowątkowe (async, thread, mutexy), znajdowanie deadlocków, pule wątków, wydajne używanie tych wątków itd
- semantyka przenoszenia, lambdy, r-/l- value
-
  • Odpowiedz
@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
  • Odpowiedz