w #cpp co będzie szybciej - trzy pętle, czy jedna pętla z trzema warunkami?
Wszystko
Najnowsze
Archiwum
@KedanKedanowski hm, w sumie to zależy. Napisz coś więcej. Jakie warunki?
@KedanKedanowski: To wszystko zależy, czemu tego po prostu nie przetestujesz? Czasem w 1000 pętli może być szybszego niż jedną petla jeśli dobrze ułoży data pattern access po cache'u procesora.
Ogólnie jeśli chodzi o wydajność to zasada nr1: "benchmarking, benchmarking, benchmarking". A wyniki często będą różne pomiędzy architekturami.
Ogólnie jeśli chodzi o wydajność to zasada nr1: "benchmarking, benchmarking, benchmarking". A wyniki często będą różne pomiędzy architekturami.
Kurcze, męczy mi ten #cpp i jego syntax, gdzie proste rzeczy są skomplikowane w zapisie. Jej tutaj, mam funkcję, którą już użyłem i chcę ją zwolnić z użyciem delete, aby mieć więcej pamięci. Nie da rady prościej?
#programowanie
#programowanie
źródło: comment_1632009239zownvmvJbL1h2iMTfU7qJz.jpg
Pobierz4
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
- #
- #
- #
- #
- #
- #
- 1
Cześć,
Napisałem interfejs dla fizycznych interfejsów pod #linux . Interfejs zawiera dwa kontenery pełniące rolę buforów. Następnie stworzyłem klasę implementującą Serial Port, która dziedziczy publicznie po Interfejsie te bufory. Czy da się lepiej przekazać typ buforów do interfejsu tak, żeby klasa SerialPort nie musiała implementować wszystkich metod jako template? Jedynę co potrzebuję, to zrobić template w metodzie write(), żeby określić typ danych.
Tutaj wstawiam pseudokod: pastebin
Celowo pominąłem implementację metod dla uproszczenia.
Napisałem interfejs dla fizycznych interfejsów pod #linux . Interfejs zawiera dwa kontenery pełniące rolę buforów. Następnie stworzyłem klasę implementującą Serial Port, która dziedziczy publicznie po Interfejsie te bufory. Czy da się lepiej przekazać typ buforów do interfejsu tak, żeby klasa SerialPort nie musiała implementować wszystkich metod jako template? Jedynę co potrzebuję, to zrobić template w metodzie write(), żeby określić typ danych.
Tutaj wstawiam pseudokod: pastebin
Celowo pominąłem implementację metod dla uproszczenia.
- 1
@Parseval: zakładam że to tak 'dla nauki' ale problem jest znany i opisany szeroko.
Pierwsze primo nie generalizuj za szybko.
Będziesz zawsze gadać z konkretnym sprzętem np. akcelerometrem XYZ123. Czyli będziesz musiał mieć do niego driver bo wewnątrz jest mikroarchitektura diametralnie różna od twojej.
To jest dobry punkt centralny w myśleniu. 'w górę' udostępnia on dane o np. ilości kroków, rodzaju wykonywanej aktywności i przyspieszeniu w 3 osiach, itd. więc
Pierwsze primo nie generalizuj za szybko.
Będziesz zawsze gadać z konkretnym sprzętem np. akcelerometrem XYZ123. Czyli będziesz musiał mieć do niego driver bo wewnątrz jest mikroarchitektura diametralnie różna od twojej.
To jest dobry punkt centralny w myśleniu. 'w górę' udostępnia on dane o np. ilości kroków, rodzaju wykonywanej aktywności i przyspieszeniu w 3 osiach, itd. więc
- 1
@Parseval: może zobacz jak to się robi np. https://github.com/BoschSensortec/BME280_driver i jak tu jest wyabstrakcjonowana komunikacja. Potem możesz to sobie popakować w obiekty. Alternatywnie w kernelu jest iio API i drivery.
#anonimowemirkowyznania
Kolejne pytanie o język #programowanie Ale spokojnie swoje już programowałem i wiem, że język to tylko narzędzie do rozwiązania problemu. Otóż pracowałem już kilka lat w desktop, potem kilka lat w embedded. Ale w moim mieście jest mało ofert w tych kierunkach i na moje możliwości dobiłem już sufitu. Chcę teraz uderzyć w #webdev Głównie programowałem w #cpp do tego różne narzędzia i
Kolejne pytanie o język #programowanie Ale spokojnie swoje już programowałem i wiem, że język to tylko narzędzie do rozwiązania problemu. Otóż pracowałem już kilka lat w desktop, potem kilka lat w embedded. Ale w moim mieście jest mało ofert w tych kierunkach i na moje możliwości dobiłem już sufitu. Chcę teraz uderzyć w #webdev Głównie programowałem w #cpp do tego różne narzędzia i
C# w webdev raczej nie słyszałem
@zackson: da fuq ? chyba wiekszość c# to webówka .net core'owa / .net framework'owa, druga taka spora grupa to winformsy + jakies unity, ale mało kto się decyduje w obecnych czasach na winformsy
@AnonimoweMirkoWyznania: w pythonie w webowce nie ma zbyt wiele ogloszen, szczegolnie na junior/mid lvl
- 1
Komentarz usunięty przez autora
@jakuzii: qt, wxwidgets
Z jednej strony stoi #jezykc i ciekawość działania systemu, jak kolega ostatnio opowiadał jak działa SEGFAULT naprawdę mnie to wciągnęło, plus kwestia nauki #cpp żeby grzebać przy QMLkach w pracy - czyli zwiększanie swojej wartości w pracy.
Z drugiej strony stoi chęć pisania tego co lubię, czyli #csharp i #wpf - to mi sprawia przyjemność i po prostu lubię to robić.
Co byście wybrali?
Z drugiej strony stoi chęć pisania tego co lubię, czyli #csharp i #wpf - to mi sprawia przyjemność i po prostu lubię to robić.
Co byście wybrali?
- 1
@NewEpisode:
Jeśli chodzi o pieniądze to najwięcej w tej chwili jest w szeroko pojętej web developerce. Patrząc że lubisz C# i WPF to najbliżej Ci będzie do ASP.NET Core. Aplikacje desktopowe zwłaszcza w takich jedno platformowych technologiach jak WPF to nisza. Do tego jak znasz C# i frameworki dotnetowe to po będzie Ci łatwiej się przesiąść na ASP.NET Core
Poza tym nikt Ci nie broni pracować w tym co lubisz
Jeśli chodzi o pieniądze to najwięcej w tej chwili jest w szeroko pojętej web developerce. Patrząc że lubisz C# i WPF to najbliżej Ci będzie do ASP.NET Core. Aplikacje desktopowe zwłaszcza w takich jedno platformowych technologiach jak WPF to nisza. Do tego jak znasz C# i frameworki dotnetowe to po będzie Ci łatwiej się przesiąść na ASP.NET Core
Poza tym nikt Ci nie broni pracować w tym co lubisz
@NewEpisode: wydaje mi się że w tematy desktopowe takie jak wpf nie ma co wchodzić.
- 7
Myślę, nad stworzeniem fiszek do C++. Zrobiłem wstępny koncept. Co o nim myślicie?
#summonthejson #cpp #c #programowanie #dlaprogramistow #naukaprogramowania #programujzwykopem
#summonthejson #cpp #c #programowanie #dlaprogramistow #naukaprogramowania #programujzwykopem
źródło: comment_1629739304TM9yBvf9K4ekESQ0FwLbsi.jpg
Pobierz@tomaszs: wydaje mi się że dla geeków może być to fajna ciekawostka :)
Mirki piszę sobie #cpp od miesiąca na codeblocks, i zastanawiam się jakie są wasze subiektywne substytuty, które według was, są od tego kompilatora lepsze. Co polecacie i dlaczego? #programista15k #programowanie
@Smutnekrzeslo: codeblocks to nie kompilator a IDE. a IDE to już zależy pod jaki projekt. ale z takich uniwersalnych to Visual Studio Code
@moj_wykopowy_login: Taguj heheszki
Przeglądnąłem tag do 3 miesięcy wstecz i nic nie znalazłem.
Potrzebuje tutoriali na necie odnośnie #cpp, w pracy będę zastępował juniora który ogarniał CPP + QML (Głównie QML - rozwój produktu opartego na Qt), za około półtorej miesiąca i chciałem już się podciągnąć żeby nie startować od zera. Aktualnie pracuje jako python dev od pół roku. Macie jakieś źródła wiedzy? Mile widziane na youtube, z książek nie potrafię się
Potrzebuje tutoriali na necie odnośnie #cpp, w pracy będę zastępował juniora który ogarniał CPP + QML (Głównie QML - rozwój produktu opartego na Qt), za około półtorej miesiąca i chciałem już się podciągnąć żeby nie startować od zera. Aktualnie pracuje jako python dev od pół roku. Macie jakieś źródła wiedzy? Mile widziane na youtube, z książek nie potrafię się
Komentarz usunięty przez autora
@MakowiecOdNaczelnika: Trochę tak jest. W tej chwili ogarnięcie całego języka przez 1 osobę jest praktycznie niemożliwe, nawet jak ktoś się tylko tym zajmuje na cały etat
Treść przeznaczona dla osób powyżej 18 roku życia...
- 0
Dlaczego po użyciu spacji podczas wypisywania elementu struktury, to to co po spacji przechodzi do drugiej zmiennej? Czyli wyskakuje mi podaj tytuł; wpisuje np Pan Tadeusz i pan się zapisuje jako tytuł, a tadeusz jako tytuł.
void fill (int a)
{
for (int i = 0; i < a; i++)
{
void fill (int a)
{
for (int i = 0; i < a; i++)
{
Komentarz usunięty przez autora
Komentarz usunięty przez autora
#programowanie #cpp jak zrobić "prawdziwie globalną" zmienną? Mam klasę
Dbgr ze zmienną statyczną Dbgr* oraz statycznymi funkcjami które patrzą czy ten wskaźnik jest pełny, a jeżeli tak - coś robią. Mam też funkcję createDbgr() która nie robi nic jeżeli ten wskaźnik już jest pełny. Efekt jest taki, że w zależności od tego skąd wywołam te funkcje, mam ten wskaźnik pełny lub pusty, a więc to nie jest globalna- 0
@MamCieNaHita: jakby co, zgodnie z tym: https://stackoverflow.com/questions/8623657/multiple-instances-of-singleton-across-shared-libraries-on-linux - to co chcę jest niemożliwe w obrębie singletona w sposób nie wymagający OS-dependent rzeczy więc zrobiłem po prostu getInstance w każdej bibliotece do osobnych, statycznych pointerów i połączyłem je signal-slotem qt, a że Q_OBJECT się z singletone gryzie to jeszcze musiał to być member tworzony w singletonie, także no, strasznie skomplikowane i na pewno możnaby ten same efekt mieć prościej... ale działa,
Mam wektor wskaźników na obiekty jakiejś klasy, do metody pushback mogę wstawić adres tego, co zwraca konstruktor tej klasy?
Tj.:
#programowanie #cpp
Tj.:
wektor.push_back(&konstruktor());#programowanie #cpp
@BotRekrutacyjny: Nie bardzo, bo w ten sposób zapisujesz adres obiektu tymczasowego, wiec jeżeli później się do niego odwołasz otrzymasz jakieś śmieci.
- 2
@BotRekrutacyjny: No studia to omegalul xD Ale na szczęście mamy internet i Google University ( ͡° ͜ʖ ͡°)
- 49
Komentarz usunięty przez autora
@Passer93: Wiadomo wiadomo, C w nazwie języka to od słowa Chad i jeszcze te ++, podkreślają zajebistość tej grupy samców alfa, zazdro mordo.
- 6
- 2
@biskup2k: w skrócie po prostu liczę to z czasu injectorów, RPMów i robię L/h, a następnie liczę średnią spalania na 100km biorąc pod uwagę jaki rozmiar mają te injectory.
Mnożę razy 3x na obrót (bo 6 cylindrów) i później dzielę przez dystans wyciągając średnią ważoną.
Na 0 km po prostu nie zmieniam avg. Normalne OBC dolicza coś na
Mnożę razy 3x na obrót (bo 6 cylindrów) i później dzielę przez dystans wyciągając średnią ważoną.
Na 0 km po prostu nie zmieniam avg. Normalne OBC dolicza coś na
- 1
@sorek: Kiedyś też zrobiłem prototyp arduino na podstawie czasu wtrysku ale chwilowe spalania najlepiej mi wyszło. Miałem na podstawie sygnału spalania ale nie chciało mi się rozgryzać sygnału spalania dla baord computera. W Vagach z lat 80-90' ten sygnał to był w litrach na minutę w zależności ile milisekund czy mikrosekund trwał.
źródło: comment_1628319139Qsr0e15g6zQWz8bWASEuJw.jpg
Pobierz- 15
Treść przeznaczona dla osób powyżej 18 roku życia...
Mam pewną klasę, w której jest sporo pól skomplikowanych typów. Chciałbym stworzyć idealną kopię obiektu tej klasy w innym miejscu pamięci. Czy jest na to prosty sposób, czy muszę pisać konstruktor kopiujący?
#programowanie #cpp
#programowanie #cpp
- 12
@BotRekrutacyjny: dawaj malloc na void pointer i memcpy i potem rzutowanie, sie bedziesz bawil w konstruktory
@dupasmoka: brzmisz jak rust
- 0
Mirki da się jakoś przy wykorzystaniu niczego więcej niż iostream użyć +, albo - zapisanego jako char, do definiowania tego co ma robić funkcja? Np zamiast:
int dodawanie(int, int) { return a + b; }
Robię np:
char
int dodawanie(int, int) { return a + b; }
Robię np:
char
@bachuxd: Ja bym raczej zrobił po prostu switch case'a i dla operatorów zwracałbym odpowiadające wyniki
- 2
@bachuxd: Ogólnie przetwarzanie stringów/"ciągów bajtowych", to nic innego jest interpretacja bajtów, jako takie, które kodują symbole typograficzne i je należy przeprocesować/przetworzyć do postaci operatorów/instrukcji zrozumiałych dla CPU/MCU/CU.
Takie sztuczki jeszcze można robić w językach skryptowych/interpretowanych przez tzw.
Pod maską języki skryptowe są wykonywane/interpretowane na bieżąco i robią, to co ty tutaj - parsują i przetwarzają na operacje/instrukcje dla procesora, ale to też jakiś
Takie sztuczki jeszcze można robić w językach skryptowych/interpretowanych przez tzw.
eval lub lazy/późne kompilowanie w trakcie run-time.Pod maską języki skryptowe są wykonywane/interpretowane na bieżąco i robią, to co ty tutaj - parsują i przetwarzają na operacje/instrukcje dla procesora, ale to też jakiś

























mam losowy dwuwymiarowy kształt.
Czy da się go wypełnić inaczej niż rekurencyjnie sprawdzając wszystkie pixele dookoła, czy sie w nim mieszczą?
Przykładowo