O co chodzi, dlaczego 90% tutoriali na jutup jest kręconcych przez ludzi z Indii?
Wszystko
Najnowsze
Archiwum
- 0
#cpp
O co chodzi, dlaczego 90% tutoriali na jutup jest kręconcych przez ludzi z Indii?
O co chodzi, dlaczego 90% tutoriali na jutup jest kręconcych przez ludzi z Indii?
- 0
#cpp
Czym jest reprezentacja obiektu?
Czym jest reprezentacja obiektu?
- 9
Hej, napisałem sobie liba do fiberów i nonblocking IO, można pisać w C lub C++ tak jak w Go: libfev
Zrobiłem też kilka benchmarków i w ten lib daje radę zrobić w jednym benchmarku 172% więcej requestów/s niż Boost.ASIO, 77% więcej niż Tokio (rust), 40% więcej niż async-std (rust) i 16% więcej niż Go: async-bench
#programowanie #cpp #rustlang #golang
Zrobiłem też kilka benchmarków i w ten lib daje radę zrobić w jednym benchmarku 172% więcej requestów/s niż Boost.ASIO, 77% więcej niż Tokio (rust), 40% więcej niż async-std (rust) i 16% więcej niż Go: async-bench
#programowanie #cpp #rustlang #golang
jaki jest najlepszy rng? czy
a sie pochwale że mi raycasting działa, i dodaje teraz losowe sciany
#cpp #naukaprogramowania #programowanie
a sie pochwale że mi raycasting działa, i dodaje teraz losowe sciany
#cpp #naukaprogramowania #programowanie
- 1
@RedveKoronny: cstdlib to biblioteka z C, a jeżeli piszesz w C++ to dobrą praktyką jest korzystać z
random.@RedveKoronny: Najlepszy do czego? Bo rożne RNG mają rożne właściwości i nie ma jednego "odgórnie najlepszego" algorytmu.
- 0
#programowanie #cpp
while(1) int i=0;
Czy zmien a będzie alokowana za każdym przejściem pętli, czy zostanie to jakoś zoptymalizowane?
while(1) int i=0;
Czy zmien a będzie alokowana za każdym przejściem pętli, czy zostanie to jakoś zoptymalizowane?
Komentarz usunięty przez moderatora
Komentarz usunięty przez autora
4
Otwarcie rejestracji na wirtualne spotkanie deweloperów LLVM 2020

Coroczna konferencja LLVM zwykle organizowana w Dolinie Krzemowej odbywa się teraz całkowicie online. To wirtualne wydarzenie odbędzie się od 6 do 8 października. Dzięki sponsorom takim jak Apple, Qualcomm, IBM, Google, Intel, Microsoft, Facebook i inni, spotkanie programistów LLVM 2020 jest bezpłat
z- 0
- #
- #
- #
- #
- #
- #
- 0
- 1
@jaksa0: Fakt, racja. Naprawione i działa
Po całym dniu szukania znalazłem błąd - zamiast 1 powinno być 0 w create endorsement. Wreszcie działa przykład tworzenia transakcji z wykorzystaniem libbitcoin i zapisywaniem danych przez OP_RETURN :D
Kod https://github.com/pantadeusz/bitcoin-experiments/tree/master/op_return_cpp_nodejs
Transakcja https://live.blockcypher.com/btc-testnet/tx/279497594bb14d778d1248ecd63f3b1014fd1cd2af3cfefc852bdc248617819f/
#bitcoin #cpp
Kod https://github.com/pantadeusz/bitcoin-experiments/tree/master/op_return_cpp_nodejs
Transakcja https://live.blockcypher.com/btc-testnet/tx/279497594bb14d778d1248ecd63f3b1014fd1cd2af3cfefc852bdc248617819f/
#bitcoin #cpp
C++ jest zarąbiste.
Jest sobie pewne API, które implementuje własną klasę Unicode'owych stringów (no ok, zdarza się...).
I te stringi mają funkcję
Napisałem funkcję, która ma przyjmować bufor znaków i chcę ją wywołać przez
- jak zrobię
Jest sobie pewne API, które implementuje własną klasę Unicode'owych stringów (no ok, zdarza się...).
I te stringi mają funkcję
.ToUStr(), która daje dostęp do bufora 16-bitowych znaków dzięki niejawnej konwersji na const unsigned short*.Napisałem funkcję, która ma przyjmować bufor znaków i chcę ją wywołać przez
Funkcja(string.ToUstr()), a dla wygody zrobiłem typedefa i teraz następuje najlepsze:- jak zrobię
typedef unsigned short* Ptr; i potem Funkcja(const Ptr ptr) { }- 5
@MostlyRenegade: kiedyś się na tym w pracy złapałem jak mamy typedefy na wskaźniki danego typu
https://stackoverflow.com/a/8504502
https://stackoverflow.com/a/8504502
- 6
@MostlyRenegade: jest prosta zasada. Const aplikuje się do tego co jest po lewej, chyba, że nic nie ma po lewej to wtedy do tego co jest po prawej.
const short* -> zmienny wskaznik na stałą
short const* -> to samo, to tak zwany "east-const",przez niektórych uważany za jedyny słuszny zapis, bo działa logicznie z zasadą "to co po lewej stronie"
short * const -> stały wskaznik na zmienną
short const * const -> stały
const short* -> zmienny wskaznik na stałą
short const* -> to samo, to tak zwany "east-const",przez niektórych uważany za jedyny słuszny zapis, bo działa logicznie z zasadą "to co po lewej stronie"
short * const -> stały wskaznik na zmienną
short const * const -> stały
- 0
#cpp
https://paste.ofcode.org/LEdJukuyc4j2SM5ZxYE2wt
Chciałem zrobić sobie budowniczne, który pozwoliłby mi budować okbiekt w taki sposób:
productOne->ProducePartA().ProducePartB().ProducePartC();
Wydaję mi się, że metody powinny zwracać wskaźniki na swoją klasę, ale coś nie działa :/
https://paste.ofcode.org/LEdJukuyc4j2SM5ZxYE2wt
Chciałem zrobić sobie budowniczne, który pozwoliłby mi budować okbiekt w taki sposób:
productOne->ProducePartA().ProducePartB().ProducePartC();
Wydaję mi się, że metody powinny zwracać wskaźniki na swoją klasę, ale coś nie działa :/
@VanQator: nie wiem czemu ma służyć ten cudak i po co się to stosuje bo nie wgłębiałem się nigdy za bardzo w programowanie obiektowe za to wgłębiałem się w sam język programowania i wydaje mi się, że w GetProduct() masz memory leak. ja wiem ze to tylko przykład ale warto wyrobić jakieś nawyki ( ͡° ͜ʖ ͡°)
- 1
@zarazaa: tam nie ma leaku. Jedyna dynamiczna pamięc to wynik oraz to co utworzy Reset(). Wynik jest usuwany w mainie a pole "product" zostanie usunięte w destruktorze ~ConcreteBuildera. Inna sprawa, że nie powinno się tak programować, bo łatwo się przejechać https://dsp.krzaq.cc/post/176/ucze-sie-cxx-kiedy-uzywac-new-i-delete/
- 0
#cpp #jezykc
Próbuję rozwiązać dla języka C: https://www.codewars.com/kata/5340298112fa30e786000688/train/c
W testach randomowo dostaję "Test Crashed Caught unexpected signal: SIGSEGV (11). Invalid memory access."
Passed: 108 Failed: 2 Errors: 2 Exit Code: 1
Kod: https://pastebin.com/72F7E1fL
Próbuję rozwiązać dla języka C: https://www.codewars.com/kata/5340298112fa30e786000688/train/c
W testach randomowo dostaję "Test Crashed Caught unexpected signal: SIGSEGV (11). Invalid memory access."
Passed: 108 Failed: 2 Errors: 2 Exit Code: 1
Kod: https://pastebin.com/72F7E1fL
- 0
@zwei: Widziałem to już wcześniej i próbowałem. Z musi być wyzerowane, bo nie wiem co za śmieci dostaję z zewnątrz. Są jakieś bardziej eleganckie metody?
Segfaulty wyrzuca dopiero przy którymś kolejnym teście. Jeśli masz błąd już w pierwszym z nich to dalsze nie są przeprowadzane i dlatego nie pojawia się segfault ;)
Segfaulty wyrzuca dopiero przy którymś kolejnym teście. Jeśli masz błąd już w pierwszym z nich to dalsze nie są przeprowadzane i dlatego nie pojawia się segfault ;)
- 0
Z musi być wyzerowane, bo nie wiem co za śmieci dostaję z zewnątrz. Są jakieś bardziej eleganckie metody?
No tak, ja zmieniam z na 1 na samym końcu przed returnem jeśli jest 0.
Jeśli masz błąd już w pierwszym z nich to dalsze nie są przeprowadzane i dlatego nie pojawia się segfault ;)
@TheCao: no to wykluczyłem wstawiając 1 tylko wtedy, gdy z wychodzi na końcu 0. Z tym że
- 455
- 521
@liskowskyy: kto miał styczność z repo kodu pisanego po polsku, ten się w cyrku nie śmieje ( ͡° ͜ʖ ͡°)
- 630
558
Microsoft zaczyna korzystać z Rusta jako alternatywy dla C oraz C++

Microsoft w związku z tym, że ponad 70% błędów w jego produktach było skutkiem naruszenia pamięci poprzez niepoprawne użycie języka C oraz C++, postanowił tworzyć i przepisać część oprogramowania korzystając z języka Rust, który już na poziomie kompilacji zapobiega wielu typowym błędom obecnych w C
z- 188
- #
- #
- #
- #
- #
- #
- 0
#cpp
https://paste.ofcode.org/32pRxKL6iFRasCv5VMyHLH9
Czy w swojejimplementacji stosu mam wyciek pamięci?
https://paste.ofcode.org/32pRxKL6iFRasCv5VMyHLH9
Czy w swojejimplementacji stosu mam wyciek pamięci?
@VanQator: Leak i address sanitizer na Ubuntu
Wystarczy skompilować program z odpowiednimi flagami np.
g++ plik.cpp -o wynik.o -fsanitize=address,leak
./wynik.o
Wystarczy skompilować program z odpowiednimi flagami np.
g++ plik.cpp -o wynik.o -fsanitize=address,leak
./wynik.o
konto usunięte via Wykop Mobilny (Android)
- 2
@VanQator: W remElement tracisz wskaźnik na obecny root, ale go nie dealokujesz.
- 1
Jaki początkujący kurs nauki języka C++ polecacie?
Kiedyś trochę liznąłem ze strony cpp0x.pl i było spoko, ale nie wiem czy ten kurs nie jest już przestarzały. Odnośnie Mirosława Zelenta to z tego co wiem, uczy on złych nawyków, także wolałbym nie.
#cpp #cpp0x #programowanie #naukaprogramowania
Kiedyś trochę liznąłem ze strony cpp0x.pl i było spoko, ale nie wiem czy ten kurs nie jest już przestarzały. Odnośnie Mirosława Zelenta to z tego co wiem, uczy on złych nawyków, także wolałbym nie.
#cpp #cpp0x #programowanie #naukaprogramowania
- 3
@erdwa: a musi być c++? Pracuję pisząc w tym języku i nie polecam. Ja uczyłem się z "Symfonia C++", ale nie poleciłbym nikomu tej książki
- 3
@erdwa: skomplikowany język, bardzo duży bagaż naleciałości, łatwo sobie strzelić w stopę. Od strony developera to bardzo słaby tooling w postaci IDE/systemów budowania/zarządania zależnościami. Oczywiście C++ ma swoje zastosowania, ale jeśli dopiero uczysz się programowania to lepiej wybrać coś innego. Osobiście poleciłbym Pythona (popularny, prosty, ma swoją niszę w data science), JS (tego języka możesz użyć do dosłownie każdego zadania), ewentualnie Java/C# (jak chcesz robić duże systemy w korpo).
- 0
#cpp
Czy warto uczyć się frameworków jak QT, SFML, czy raczej niskopoziomych bibliotek jak winapi czy opengl?
Czy warto uczyć się frameworków jak QT, SFML, czy raczej niskopoziomych bibliotek jak winapi czy opengl?
Czy da się 'wstrzyknąć' spreparowany pakiet tcp do istniejącego połączenia i wysłać go do zdalnego hosta?
Na windowsie jeżeli proces ustanowił połączenie, a ja chcę z innego procesu przechwytywać komunikację, a czasami dodać do niej coś od siebie, to jednym z rozwiązań mogłoby być jakieś lokalne proxy. Drugie wyjście to DLL injection, które podmieniłoby mi wskaźniki
Na windowsie jeżeli proces ustanowił połączenie, a ja chcę z innego procesu przechwytywać komunikację, a czasami dodać do niej coś od siebie, to jednym z rozwiązań mogłoby być jakieś lokalne proxy. Drugie wyjście to DLL injection, które podmieniłoby mi wskaźniki
send(), recv() itd... z API winsock2 na odpowiedniki z mojej biblioteki. Ale czy nie dałoby- 0
Jak dodać bibliotekę SigPack do C++? Albo czy istnieje jakaś inna zawierająca DFT?
Kompilator g++, jako edytora używam VSCode, system Windows.
#programowanie #programista15k #cpp
Kompilator g++, jako edytora używam VSCode, system Windows.
#programowanie #programista15k #cpp
- 0
@PeeM69: c++ to syf, jesli chodzi o biblioteki: jak nie wiesz jak wszystko działa pod spodem to można tylko płakać, jak coś się wgra i nie działa. Najprościej jest użyć jakieś biblioteki header-only: google po wpisaniu "cpp fft header only" poleciło mi to https://github.com/jdupuy/dj_fft . Tylko pamiętaj, że jak używasz takich bibliotek to musisz pamiętać o włączonych optymalizacjach "g++ -O3", inaczej twój kod może być za wolny
- 0
@PeeM69: uzyj fftw szybka, dojrzala, prosta, de facto standard. Ale to c nie cpp choc nie powinien to byc problem
dzielę sobie moją programistyczną sieczkę na biblioteki żeby mi było łatwiej używać i żeby się nie przejmować zależnościami więc wymyśliłem sobie taki system który podpatrzyłem na jednym wykładzie z Visual C++ gdzieśtam, kiedyśtam i mi się spodobał. No i chyba coś źle robię, bo wyskakuje mi, że mój enum "was not declared in this scope" mimo, że podświetlanie go widzi. Jak na obrazku, od napisu START wskazuję, że dostęp do definicji enuma
źródło: comment_1597480364Ou05r1sVPxnkb11BSQ23w2.jpg
Pobierz@s_theCapt: nie widzę na pierwszy rzut oka co jest źle, ale dobrą praktyką jest właśnie includowanie bezpośrednio i nie poleganiu na tym, że inny header coś includuje.
ifndefy/pragma once cię bronią przed redeklaracją, a header/source jest wtedy samokompilowalny. załóżmy, że gdzieś na wysokim poziomie były używany vector w headerze i korzystało z niego 400 plików. zmieniamy implementację na listę, ruszamy tylko swoją działkę w kodzie, a wywala się 400 plików,
ifndefy/pragma once cię bronią przed redeklaracją, a header/source jest wtedy samokompilowalny. załóżmy, że gdzieś na wysokim poziomie były używany vector w headerze i korzystało z niego 400 plików. zmieniamy implementację na listę, ruszamy tylko swoją działkę w kodzie, a wywala się 400 plików,
konto usunięte via Android
- 1
Indefy w dwóch plikach były te same, bo skopiowałem ;_; już działa :D
@s_theCapt dlatego osobiście jestem team
#pragma once ( ͡° ͜ʖ ͡°)




















Czy można stworzyć klasę konkretną dziedziczącą po klasie abstrakcyjnej, która nie posiada implementacji, którejś z funkcji wirtualnej klasy bazowej, czy jest to bezwzględnie zabronione?
B nie implementuje jakiejś funkcji z interfejsu A i robi to dopiero klasa C? Jeśli tak, to jest to możliwe.