#cpp #programowanie #naukaprogramowania #kompikownia
Witajcie :) Nie było mnie tu przez 2 tyg :( Niestety studia zabierają nieco czasu. Dzisiaj chciałbym wam pokazać analizę tzw. "undefined behavior" - niezdefiniowanego zachowania. Co to jest, skąd to się bierze i do czego prowadzi? O tym przeczytacie w moim najnowszym wpisie:
https://www.kompikownia.pl/index.php/2019/03/27/czym-jest-undefined-behavior-w-c-c/
Zapraszam :)
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@CppPolska: Dzięki za opinię :) Chodziło mi oczywiście o wykorzystanie asercji podczas debugowania kodu. Mogło się do wydawać niejasne podczas czytania, dlatego dodałem adnotację w nawiasie.
  • Odpowiedz
Siema programujące Mirki i Mirabelki! ( ͡º ͜ʖ͡º) Mamy dla Was nowy wpis z serii #programowanie w #jezykc i #cpp! ( ͡ ͜ʖ ͡)

Dziś dołączył do nas nowy autor: Dawid Pilarski ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°)
Dawid jest młodym programistą o potężnej wiedzy związanej ze standardem C++. Może to być związane z tym, że
CppPolska - Siema programujące Mirki i Mirabelki! ( ͡º ͜ʖ͡º) Mamy dla Was nowy wpis z...

źródło: comment_kysADYahcTYjBqxo2vpQVnepNQAkZmVc.jpg

Pobierz
  • 23
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@WykresFunkcji: nam nie zależy jakoś mega na wynikach odwiedzalności - nie piszemy pod publikę/nie jest to nasz wyznacznik (choć im więcej osób nas czyta, to tym bardziej nas to cieszy). Każdy z nas robi to, co lubi - tak, jak lubi ( ͡° ͜ʖ ͡°) Jak znajdzie się ktoś, kto będzie chciał publikować po angielsku, to zrobimy subdomenkę, link w nawigacji i jazda ( ͡
  • Odpowiedz
Czesc Miraski, mam jedno pytanko. Mam wektor klas, z pewnymi polami. Chce posortować ten wektor według pola 'czas' od największego do najmniejszego. Da radę to zwyklym sortem zrobic? Mozg mi siada już i nie mogę pomysłu złapać ( ͡° ʖ̯ ͡°)
#cpp #programowanie
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

window-simple-main.hpp(186): error C2872: 'Projector': ambiguous symbol (compiling source file mocscompilation.cpp)

window-basic-main.hpp(75): note: could be 'Projector' (compiling source file mocscompilation.cpp)

window-simple-main.hpp(60): note: or 'Simplified::Projector' (compiling source file mocs_compilation.cpp)


Mam dwie klasy: BasicWindow i SimpleWindow. W headerze BasicWindow mam jeszcze struct Projector, a w headerze SimpleWindow także struct Projector, ale w namespace Simplified. I jak się odwołuję w pliku cpp SimpleWindow do klasy Projector (wcześniej pisząc "using namespace Simplified") to wywala mi
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Capt_S: @Sedd: Z jakiegoś powodu Qt mu tworzy jeden plik 'mocs_compilation.cpp' zamiast jednego na każdy plik nagłówkowy. Nie wiem co to za wersja Qt, ale jeżeli tak jest faktycznie, to może by tak, że jakiś w jakimś kodzie wygenerowanym przez Meta Object Compiler załącza się ADL i nie wie którą klasę wybrać.
Dlatego ciepnij tej 'Projector' z window-basic-main.hpp(75) do osobnego namespace, powinno pomóc.
Aczkolwiek MOC z Qt i
  • Odpowiedz
Czy jest mozliwe dynamiczne zapisywanie wartosci do pliku txt pochodzace z mikrokontrolera przez UART?
Przesylam informacje przez uart i wyswietalaja one mi sie w konsoli i chcialbym je zapisywc do txt. Najbardziej interesuje mnie napisanie programu w C++ ale nie wiem jak dotrzec do tego dynamicznego zapisywania
#programowanie
#c
#cpp
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam takie coś:
generaten(backinserter(vector), 10, [n = 10]()mutable {return n++;});

Czy jest mi ktoś w stanie wyjaśnić co się o------o w capture [n = 10]? n nie jest nigdzie deklarowane w obecnym scopie. n to wyciagnięty iterator z generat_n czy totalnie nowa zmienna? Dokumentacja nic nie wspomina o alias capture

#programowanie #cpp
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@kobiaszu: wyobraź sobie, że lambda to struktura z operator() a capture to jej membery(trzymające ref albo value). zatem n to member typu decltype(10), który może się zmieniać bo lambda jest mutable
w skrócie tak, n to nowa zmienna, dostępna tylko w lambdzie
  • Odpowiedz
Mirki z #cpp

Mam dlugi vector danych. Dziele go na kawalki i procesuje na osobnym korzystajac z std::launch::async. Nie ma data dependencies. Jezeli kawalkow jest 1000 to 1000 threadow zostanie odpalonych. Pytanie, czy moge zaufac schedulerowi, ze to jakos ogarnie, czy lepiej napisac semafor taki jak tu: https://www.reddit.com/r/cpp_questions/comments/5ih1g8/how_do_i_limit_the_number_of_threads_used_by/ i ograniczyc liczbe watkow do liczny rdzeni cpu? Martwie sie o to ze wzgledu na context switching.

  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@erwit: Najlepiej użyć sensownej biblioteki. Programowanie na wątkach nie jest proste i bardzo łatwo o trudny do wykrycia błąd. Jeśli nie Boost, to może TBB albo przynajmniej OpenMP? W icc and gcc dostępny domyślnie, w clang też już powinien być standardowo.

Niestety, ale obecnie algorytmy w C++17 są mocno ograniczone i trudno określić liczbę wątków lub chunk size.
  • Odpowiedz
@Metoksyfenidyna9: Po prostu robisz to new w innym wątku niż ten, w którym stworzyłeś this, którego przekazujesz jako rodzic do QSqlTableModel. Ponieważ QObject potrzebuje być na jakiś wątku, by odbierać zakolejkowane sygnały, przypisuje mu się obecne. Jednak ze względu na sposób usuwania dzieci rodziców, wątek rodzica musi być taki sam. U ciebie widocznie okno tworzysz w innym wątku niż główny wątek GUI.
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
Dlaczego w c++ gdy dodamy do jakiejs liczby do potegi "e" np. 1. 23456e25 jakąś liczbe np. 1 to ona nie zmienia wartości tylko dalej wypisuje to samo?
#cpp #programowanie
  • 21
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

zna ktoś może odpowiednik javowego ForkJoinPool w c++? Chodzi mi o pulę wątków używającą work stealingu jednocześnie posiadającą jakieś mechanizmy uniemożliwiające wiecznie spinowanie, gdy nie ma tasków. Jedyne co znalazłem to Intel TBB, ale tego wolałbym nie używać.

#cpp
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Siema wszystkim spod tagów #programowanie w #cpp! Tutaj Marcin. Mam dla Was drobne #oswiadczenie związane z serią #sfmlowezabawy ( ͡° ʖ̯ ͡°)

Startując projekt "SFML-owe zabawy", nie pomyślałem o tym, że będę bazował na cudzej pracy - głównie myślałem o tym, że chcę zrobić coś dla funu i przy okazji pożytecznego. Cieszy mnie to, że tak wielu osobom spodobała się cała seria.
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ktoś mi wytłumaczy dlaczego jak wcześniej przeciążałem operator konwersji z mojej klasy na stringa, wszystko działało xD i kompilator nie miał nic przeciwko, a teraz po kilku godzinach nagle wywala mi komunikat :
_**"ambigous conversion for C-style cast from 'String' to 'std::__cxxx..."**

String to moja własna klasa będąca mniej czy więcej odwzorowaniem klasy string z biblioteki.
W klasie mam napisaną metodę przeciążającą operator konwersji ( jawny operator konwersji do std::string):

explicit
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach