Nie jestem zawodowcem, o ile się orientuję, to jednym z większych problemów z C++ jest to, że nie ma kontroli zarządzania pamięcią ani w formie sprawdzenia przy kompilacji ani jako garbage collector. Co stoi na przeszkodzie dodania sprawdzania w czasie kompilacji jak np w Rust? Na przykład w formie opcji, ktoś chce się upewnić to włącza sprawdzenie przy kompilacji, jak nie to zostaje przy starym kompilatorze. Trochę to wydłuży kompilację, ale wydajność
Wszystko
Najnowsze
Archiwum
- 0
konto usunięte via Wykop
- 5
@Goglez: W nowoczesnym C++ problemy z kontrolą pamięci praktycznie nie występują.
Nie da się w pełni sprawdzić czegoś, co dzieje się w runtimie. Można jedynie posłużyć się sanitizerami, albo jakimś valgrindem.
Co stoi na przeszkodzie dodania sprawdzania w czasie kompilacji
Nie da się w pełni sprawdzić czegoś, co dzieje się w runtimie. Można jedynie posłużyć się sanitizerami, albo jakimś valgrindem.
Co stoi na przeszkodzie dodania sprawdzania w czasie kompilacji jak np w Rust?
@Goglez: Niedostatecznie ekspresywny system typów w C++, który nie rozumie pojęcia czasu życia wartości. Musiałbyś robić analizę całego programu a to z kolei nie jest możliwe ze względu na specyficzny sposób budowania projektowe C++ gdzie pliki są kompilowane osobno.
- 0
Hej, chciałbym trochę podziałać z tematami image processing - zarówno klasycznym algorytmicznym jak i znowymi AI'owymi metodami.
W jakim języku najlepiej działać - c++, python czy coś jeszcze innego?
Macie jakieś dobre źródła do rozwoju i nauki ?
#programowanie #python #c #cpp #machinelearning
W jakim języku najlepiej działać - c++, python czy coś jeszcze innego?
Macie jakieś dobre źródła do rozwoju i nauki ?
#programowanie #python #c #cpp #machinelearning
Treść przeznaczona dla osób powyżej 18 roku życia...
@ChocNieSniezySniegWciazSwiezy: tak, to te. Kończyłem i jestem zadowolony. Nie wszystko tam było idealne (niektóre wykłady teoretyczne prof. Skarbka były totalnie nieprzekładalne na "prawdziwe życie"), ale bardzo dużo z nich wyniosłem.
- 39
Hej mirki, piszę w czystym C++ gierkę sieciową od zera.. już jakieś 10 lat.(⌐ ͡■ ͜ʖ ͡■)
Podobna do Hotline Miami, ale można strzelać się z kumplami. Wyszła naprawdę grywalna.
Jeśli ktoś jest zainteresowany technikaliami, mogę coś poopowiadać. Szczególnie dumny jestem z architektury sieciowej.
A w ogóle to jest open source i każdy może sobie ją zbudować, nawet na linuxie.
#gamedev #cpp
Podobna do Hotline Miami, ale można strzelać się z kumplami. Wyszła naprawdę grywalna.
Jeśli ktoś jest zainteresowany technikaliami, mogę coś poopowiadać. Szczególnie dumny jestem z architektury sieciowej.
A w ogóle to jest open source i każdy może sobie ją zbudować, nawet na linuxie.
#gamedev #cpp

- 8
@lethaldysfolid: Pisanie od zera ma swoje zalety.
- Łatwiej zrobić architekturę sieciową bazowaną na determinizmie symulacji. W mojej grze możesz mieć 10k+ dynamicznych skrzynek na mapie które będą w pełni zsynchronizowane bez przesyłania się przez sieć - po kablu lecą tylko inputy graczy. Żeby to osiągnąć, musiałem długo grzebać w kodzie silnika fizycznego (głupia kolejność rozwiązywania kontaktów ma znaczenie), a także wymienić wszystkie funkcje matematyczne typu sin/cos/sqrt na te ze
- Łatwiej zrobić architekturę sieciową bazowaną na determinizmie symulacji. W mojej grze możesz mieć 10k+ dynamicznych skrzynek na mapie które będą w pełni zsynchronizowane bez przesyłania się przez sieć - po kablu lecą tylko inputy graczy. Żeby to osiągnąć, musiałem długo grzebać w kodzie silnika fizycznego (głupia kolejność rozwiązywania kontaktów ma znaczenie), a także wymienić wszystkie funkcje matematyczne typu sin/cos/sqrt na te ze
konto usunięte via Wykop
- 1
jest wykorzystywany w Assassin's Creed: Valhalla i przez Skydio, spółkę produkującą drony
@bob-pager: w takiej sytuacji ktos ci za to zaplacil?
Kiedy klasy abstrakcyjne wejdą zbyt mocno...
#programowanie #cpp #programista3k #humordlaosobzrozwalonymanusemcontent
#programowanie #cpp #programista3k #humordlaosobzrozwalonymanusemcontent
źródło: Screenshot_20230605-192828868_1
PobierzChciałem sobie napisać program w C++ wyznaczający jakąś ilość czterocyfrowych kodów PIN, w ramach ćwiczeń na studia. Program się kompiluje ale wypisuje error jak na screenie. Ktoś mógłby podpowiedzieć co jest źle bo szukałem w necie ale nie rozumiem chyba i tak.
https://pastebin.com/81AXy0Um
#pytanie #programowanie #cpp #kiciochpyta #informatyka
https://pastebin.com/81AXy0Um
#pytanie #programowanie #cpp #kiciochpyta #informatyka
źródło: cpp
Pobierz@423frewq4f23:
Bo odwolujesz się do elementu tablicy poza zakresem.
Jak tablica ma 100 elementów( int i[100] ) to ostatni element ma index 99 a nie 100 a używając <= probujesz dostać się do tego 100 nieistniejącego elementu a nie do 99
Bo odwolujesz się do elementu tablicy poza zakresem.
Jak tablica ma 100 elementów( int i[100] ) to ostatni element ma index 99 a nie 100 a używając <= probujesz dostać się do tego 100 nieistniejącego elementu a nie do 99
@SmieszneZakola: I właśnie dlatego uważam, że początkującym należy zakazać używania pętli for.
- 2
Mireczki, czemu czyta mi tylko pierwszy inicjal wprowadzanego imienia? Jak dam np jan kowalski to jest tylko j.
#informatyka #programowanie #cpp
#informatyka #programowanie #cpp
źródło: Bez tytułu
Pobierz@Feargan: P--------j tam jeszcze zagnieżdżonego while'a i kilka goto i powinno śmigać.
@ly000: @arowsky: szczególnie początkujący, ale również wielu midów, a nawet seniorów ma taką przypadłość, że nauczą się tej nieszczęsnej pętli for i, a potem zatrzymują się w rozwoju bo w sumie prawie wszystko kombinacją takich petli mogą zrobić. I potem srają tymi pętlami cały kod, powodując że często jest masakrycznie niezrozumiały jak ten przykład tutaj. Do tego bardzo łatwo o błędy typu off-by-one, wyjść poza bufor, czy niechcący
- 0
Mirunie, potrzebuję małej pomocy. Otóż chciałbym, żeby podczas konwersji z chara na double, kopiowało mi całe wyrażenie, łącznie z tym co jest po kropce. Jak to zrobić? Da się w ogóle?
Tak wygląda plik input:
salata 2.50
czarodziejski 7.20
konserwy 6.33
napoj 10.5
Tak wygląda plik input:
salata 2.50
czarodziejski 7.20
konserwy 6.33
napoj 10.5
źródło: Bez tytułu
Pobierz@dongio: atoi konwertuje do liczby całkowitej. Musisz użyć innej funkcji. Takiej, która zwróci double.
isPies() ( ͡° ͜ʖ ͡°)
- 0
siema, czy jakiś #programista ogarnia dobrze #c++ na #macos #xcode ? mam laboratoria z #programowanie do zrobienia i prowadzący wymyślili sobie jakąś specjalną bibliotekę, do której trzeba zrobić sporo ustawień w #visualstudio 13 xD. Niestety nie umiem ich odwzorować w Xcode (choć możliwe że tylko w części, gdyż dodanie headerów chyba się udało). Najpewniej problem jest z krokiem 13 w linku.
Instrukcja
Instrukcja
- 1
@xorvim: programuję backend, nic związanego ze studiami
generalnie mogłem zostać na doktoracie, ale wyszło, że to jest masa roboty i małe pieniądze; z tego co słyszałem to doktorat na aero robi się latami i jest bardzo trudno; z resztą już na magisterce było oranie
jeszcze myślałem o Faurecii czy GE, ale miałem takie poczucie, że jednak programowanie ma większy potencjał rozwojowy pod kątem zmian firm i zarabiania
chyba nie bez
generalnie mogłem zostać na doktoracie, ale wyszło, że to jest masa roboty i małe pieniądze; z tego co słyszałem to doktorat na aero robi się latami i jest bardzo trudno; z resztą już na magisterce było oranie
jeszcze myślałem o Faurecii czy GE, ale miałem takie poczucie, że jednak programowanie ma większy potencjał rozwojowy pod kątem zmian firm i zarabiania
chyba nie bez
- 6
Z ciekawostek z działu #ksiazki taka informacja: znany na #demoscena Polska koder Maq napisał książkę wspomagającą #naukaprogramowania #cpp Kombinacje C++. 648 łamigłówek programistycznych z odpowiedziami i jest ona obecnie w przedsprzedaży za 45,60zł
#retrocomputing #amiga #czytajzwykopem #programowanie #mirkopomocje
https://kaczus.ppa.pl/promocje
#retrocomputing #amiga #czytajzwykopem #programowanie #mirkopomocje
https://kaczus.ppa.pl/promocje
@Kaczus2B: Szkoda, że takie dla bardzo początkujących. Jest też błąd na drugiej stronie zadań.
ISO/IEC 14882:1998 section 3.6.1:
https://stackoverflow.com/a/204483
main nie musi mieć return. ISO/IEC 14882:1998 section 3.6.1:
If control reaches the end of main without encountering a return statement, the effect is that of executing return 0;
https://stackoverflow.com/a/204483
źródło: 2023-05-11-084933_screenshot
Pobierz
konto usunięte via Wykop
- 3
@Kaczus2B: To co zostało udostępnione bez konieczności kupowania wygląda słabo. Błędy w pierwszych podstawowych zadaniach i jeszcze dość głupie pytania.
Jeżeli to książka skierowana do początkujących to po co szkolne błędy jak:
- printf
- using namespace std;
Jeżeli to książka skierowana do początkujących to po co szkolne błędy jak:
- printf
- using namespace std;
- 0
Cześć,
Od jakiegoś czasu kombinuję nad stworzeniem własnego gateway'a ZigBee na #linux. Dokopałem się do dokumentacji IEEE 802.15.4 i chciałbym postawić taki stack, żeby komunikacje obsługiwać po socketach z wykorzystaniem interfejsu. Nie wiem jak dokładnie się za to zabrać. Czy wrzucenie takiego stack'u wymaga kompilacji kernela, czy jest to możliwe w jakiś inny łatwy sposób?
#programowanie #zigbee #embedded #cpp #raspberrypi
Od jakiegoś czasu kombinuję nad stworzeniem własnego gateway'a ZigBee na #linux. Dokopałem się do dokumentacji IEEE 802.15.4 i chciałbym postawić taki stack, żeby komunikacje obsługiwać po socketach z wykorzystaniem interfejsu. Nie wiem jak dokładnie się za to zabrać. Czy wrzucenie takiego stack'u wymaga kompilacji kernela, czy jest to możliwe w jakiś inny łatwy sposób?
#programowanie #zigbee #embedded #cpp #raspberrypi
Czy trzeba dodawać sfinae/concept jeżeli kod i tak się nie skompiluje bez spełnienia warunku? Jest to dobra praktyka?
#cpp
#cpp
@kacpervfr Czy planuje pani zajście w ciążę?
Treść przeznaczona dla osób powyżej 18 roku życia...
Właśnie dowiedziałem się, dlaczego makra są złe. Próbuję zaincludować header i nagle wielki error "makro redefined" i widzę, że identyczne makro includuje linuksowa libka i header.
Jednego makra nie mogę zmienić, bo to plik linuxa, a drugie makro ma około 6000 wystąpień w kodzie, więc też wolałbym tego nie zmieniać.
Da się coś z tym zrobić? Rozważam wypowiedzenie.
#programowanie #cpp
Jednego makra nie mogę zmienić, bo to plik linuxa, a drugie makro ma około 6000 wystąpień w kodzie, więc też wolałbym tego nie zmieniać.
Da się coś z tym zrobić? Rozważam wypowiedzenie.
#programowanie #cpp
@Gerax9: nie makra są generalnie złe, tylko makra z C / C++ są złe. Inne języki z makrami nie mają takich problemów.
Możesz spróbować oddefiniować makro przez
Możesz spróbować oddefiniować makro przez
#undef zaraz po zainkludowaniu headera. Wtedy kolejny include nie będzie widział tego makra i zdefiniuje swoje.@Gerax9: na przyszłość dodawać "namespace" do makra np. w postaci nazwy projektu lub firmy przed w stylu
WYKOP_BUFFER_SIZECzy jeżeli robię kopię w funkcji to argumenty powinny być zawsze przekazane by value?
void funkcja(std::string str)
{
std::string s = std::move(str);
}@Gerax9: Dla ciężkich obiektów typu string używaj albo const string&, albo string&& i move. Często robi się oba jako overloady.
@Gerax9: podejście z const referencją ma wadę jak przychodzi do konwersji. przekazując
teoretycznie fajnie by było mieć obie sygnatury. w praktyce idzie się skichać przy 2^n overloadach dla n parametrów.
po to powstał perfect forwarding, żeby miec jeden generyczny overload, ale wtedy witajcie szablony i ich mankamenty.
const char* stworzysz temporary stringa, którego będziesz kopiował, w podejściu z wartością zmovujesz ten, który powstał przy konwersji.teoretycznie fajnie by było mieć obie sygnatury. w praktyce idzie się skichać przy 2^n overloadach dla n parametrów.
po to powstał perfect forwarding, żeby miec jeden generyczny overload, ale wtedy witajcie szablony i ich mankamenty.
Mam kilka pytań do osób zajmujących się rtosami.
1. Czy można tam programować w C++ używając stla/boosta i czy jest to popularne rozwiązanie?
2. Większość pracy to programowanie czy rozwiązywanie problemów rtosowych?
3. Czy jest to ciekawa działka w którą warto iść, czy raczej ślepy zaułek?
4. Jak zacząć? FreeRtos? Jakieś specjalne IDE?
#programowanie #cpp
1. Czy można tam programować w C++ używając stla/boosta i czy jest to popularne rozwiązanie?
2. Większość pracy to programowanie czy rozwiązywanie problemów rtosowych?
3. Czy jest to ciekawa działka w którą warto iść, czy raczej ślepy zaułek?
4. Jak zacząć? FreeRtos? Jakieś specjalne IDE?
#programowanie #cpp
@Gerax9: 1. Wszystko można, tylko po co :) Z C++ jest ten problem, że jak napieprzysz wirtualnych metod, wyjątków i innych cudów nie widów, to bardzo trudno przewidzieć ile potrzebujesz czasu, żeby wykonać ten kawałek kodu. Szablony i wszystko co się z nimi wiąże, są znacznie bardziej przewidywalne.
2. Wszystko zależy od projektu.
3. Ciekawe jest to, co Cię interesuje :) Ale to jest nisza, więc nie spodziewaj się tylu
2. Wszystko zależy od projektu.
3. Ciekawe jest to, co Cię interesuje :) Ale to jest nisza, więc nie spodziewaj się tylu
1. Czy można tam programować w C++ używając stla/boosta i czy jest to popularne rozwiązanie?
@Gerax9: Można pod warunkiem, że wiesz co robisz. std::vector, std::map - zapomnij*, ale std::array i inne szablony bardzo ułatwiają robotę.
2. Większość pracy to programowanie czy rozwiązywanie problemów
- 6
Dawno dawno temu uczyłem się c++ i próbowałem robić gry. Mówię sobie wrócę do tego.
Po trzech godzinach walki z środowiskiem, kompilatorem, źródłami i wgl wszystkim innym przypomniało mi się dlaczego nigdy żadnej gry nie zrobiłem ;)
#cpp #programowanie
Po trzech godzinach walki z środowiskiem, kompilatorem, źródłami i wgl wszystkim innym przypomniało mi się dlaczego nigdy żadnej gry nie zrobiłem ;)
#cpp #programowanie
- 1
Hej Mireczki napisalem zadanie z #programowanie w #cpp i czy takie cos moze byc? :)
moglby ktos rzucic okiem i ew podpowiedziec co poprawic?
dzieki :)
w komenatrzu kod
https://replit.com/@Benek87/zad-7-dom#main.cpp
moglby ktos rzucic okiem i ew podpowiedziec co poprawic?
dzieki :)
w komenatrzu kod
https://replit.com/@Benek87/zad-7-dom#main.cpp
@ulath: Popracuj nad formatowaniem, zwykle edytory mają funkcję automatycznego formatowania. Wyeliminuj duplikujący się kod poprzez użycie funkcji. Podziel kod na dużo mniejsze funkcje - to jest ok, nawet jeśli używasz funkcji tylko w jednym miejscu. Zamiast drabinki ifów "if(choice == "ssak").." możesz użyć mapy. Funkcja zmienParametry do wywalenia, nie wiem po co jej używasz, skoro i tak masz bezpośredni dostęp do zmiennych składowych klasy zwierze. Nie używaj nazw typu a,
@ulath: Możesz się już zainteresować czym są słowniki w programowaniu. To takie struktury, które służą do szybkiego wyszukiwania obiektów. Szybszego niż wkładanie obiektów do tablicy i sortowanie jej. Takie struktury w C++ noszą nazwę set,unorderedset, map, unorderedmap. Wtedy po prostu przy tworzeniu obiektu wkładasz do takiej struktury, a w odpowiednim momencie wyciągasz z niej, jeśli klucz istnieje. Być może uda ci się to zaimplementować
Treść przeznaczona dla osób powyżej 18 roku życia...
@Gerax9:
shared_ptr nie jest gównem, jest ostatecznością. grunt to uzmysłowić sobie kto jest właścicielem obiektu i czy jest polimorficzny
konto usunięte via Wykop
- 4
@Gerax9:
Zależy od przypadku użycia. Na przykład, jeżeli jesteś w stanie zagwarantować, że obiekty w wektorze "przeżyją" ten wektor, to co jest złego w surowych wskaźnikach? Przez właśnie taką paranoję powstają dziwactwa jak
I prawdopodobnie takie powinno być jedyne znaczenie surowych wskaźników we współczesnym C++ - odniesienie do obiektu, którego nie jesteśmy właścicielem.
Co z konstrukcjami typu std::vector<std::sharedptr<T>> ?
Zależy od przypadku użycia. Na przykład, jeżeli jesteś w stanie zagwarantować, że obiekty w wektorze "przeżyją" ten wektor, to co jest złego w surowych wskaźnikach? Przez właśnie taką paranoję powstają dziwactwa jak
std::observer_ptr ( ͡° ͜ʖ ͡°)I prawdopodobnie takie powinno być jedyne znaczenie surowych wskaźników we współczesnym C++ - odniesienie do obiektu, którego nie jesteśmy właścicielem.
Cepepe mi wyrzuca że (-0.05+0.05)/2.0 to 1.86265e-09 ;_:
Chcę mieć pozycję środka kwadratu więc wykorzystuję wzór na środek odcinka((x+x2)/2,(y+y2)/2) i gdy wracam do punktu 0, to wyskakuję ten wynik dla x i y XD
#cpp #programowanie #naukaprogramowania
Chcę mieć pozycję środka kwadratu więc wykorzystuję wzór na środek odcinka((x+x2)/2,(y+y2)/2) i gdy wracam do punktu 0, to wyskakuję ten wynik dla x i y XD
#cpp #programowanie #naukaprogramowania
@kacpervfr Nowy adept programowania poznaje urok liczb zmiennoprzecinkowych. Klasyk
@kacpervfr: kierowniku, porównujesz liczby zmiennoprzecinkowe za pomocą operatora ==?
źródło: ssb6bwxqm4311
Pobierz




























Możecie polecić jakiś godny uwagi, dobrze zrobiony, przeprowadzony kurs z C++. Fajne ćwiczenia itd. Najlepiej z Coursera bo mam tam konto jeszcze z kilka miesięcy więc chciałem z korzystać z tej okazji.
Kurs dla programisty z ok 2letnim stażem. C++ nie ruszałem, a potrzebować będę w niedalekiej przyszłości w pracy w nowym zespole.
Ten wstępnie sobie patrzyłem:
https://www.coursera.org/specializations/coding-for-everyone