Wszystko
Najnowsze
Archiwum
@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
PobierzFirma ma budżet na szkolenia. Nie wiem skąd ten nacisk, ale koniecznie przy wyborze musimy się kierować tym, żeby było stacjonarnie.
Jaka firmę/osobę możecie polecić do przeprowadzenia takiego kursu?
Działamy w #embedded i w głosowaniu wygrywa szkolenie z #cpp #c++ . Nie zamykamy się na inne tematy, ale Cpp must have.
#programowanie #naukaprogramowania #krakow
Jaka firmę/osobę możecie polecić do przeprowadzenia takiego kursu?
Działamy w #embedded i w głosowaniu wygrywa szkolenie z #cpp #c++ . Nie zamykamy się na inne tematy, ale Cpp must have.
#programowanie #naukaprogramowania #krakow
@myron_bolitar: Kilka lat temu byłem na szkoleniu z wielowątkowości u nich: https://www.infotraining.pl
Polecam!
Polecam!
@myron_bolitar: Klaus Igleberg, Jason Turner
C szarpiarze:
Hehe wiadomo, ze c# lepszy niż c++ (⌐ ͡■ ͜ʖ ͡■
- 2
#c++ #cpp #informatyka #programowanie
Działam z klasami w C++. Jest klasa ryba i ptak, co dziedziczą po klasie zwierze.
Jest też klasa ptakoryb co dziedziczy po ptaku i rybie ale mam problem z dostaniem się do metody jedz() która jest zdefiniowana w klasie zwierze.
class Zwierze
Działam z klasami w C++. Jest klasa ryba i ptak, co dziedziczą po klasie zwierze.
Jest też klasa ptakoryb co dziedziczy po ptaku i rybie ale mam problem z dostaniem się do metody jedz() która jest zdefiniowana w klasie zwierze.
class Zwierze
@defoxe: problem diamentu https://cpp-polska.pl/post/dlaczego-unikamy-wielodziedziczeniaij
Jak piszesz
- możesz powiedzieć kompilatorowi (explicit) - zjedz dziobem poprzez
- albo możesz
class ptakoryb : public Ryba, public Ptak to robisz stwora który ma i pysk ryby i dziób ptasi (a bardziej technicznie - masz dwie kopie cech zwierzęcych w ptakorybie - jedne od ryby a drugie od ptaka). Inaczej je się pyskiem ryby a inaczzej dziobem. Kompilator nie wie którym z nich chcesz coś zjeść. Masz dwa wyjścia:- możesz powiedzieć kompilatorowi (explicit) - zjedz dziobem poprzez
pr.Ptak::jedz()- albo możesz
Sprawdzam projekt cppcheckiem i dostałem wskazówkę, żeby pętlę zamienić na std::transform.
Napisałem sobie test, żeby zobaczyć jak będzie zachowywał się obiekt po takiej zmianie i widzę, że przy każdym obiekcie wywoływany jest konstruktor przenoszący. Robię coś źle, czy po prostu std::transform w takim prostym przypadku wykorzystuje więcej zasobów od pętli?
Co byście użyli w takiej sytuacji?
https://godbolt.org/z/7fMbPabEo
#cpp
Napisałem sobie test, żeby zobaczyć jak będzie zachowywał się obiekt po takiej zmianie i widzę, że przy każdym obiekcie wywoływany jest konstruktor przenoszący. Robię coś źle, czy po prostu std::transform w takim prostym przypadku wykorzystuje więcej zasobów od pętli?
Co byście użyli w takiej sytuacji?
https://godbolt.org/z/7fMbPabEo
#cpp
@Gerax9: lambda by default zwraca przez wartość, zatem zwracasz w tej lambdzie kopię. dorzuć tam
->decltype(auto) w lambdzie, to będzie referencję zwracać i nie będzie przenoszenia@Gerax9: jednakże w korzystając z transforma chcemy tak naprawę tworzyć nowe obiekty(czyli zwracać przez wartość(rvo) i przenosić), a nie zwracać referencje do istniejących, więc zastanów się co tak naprawdę chcesz zrobić. chyba, że zwracasz referencję do membera, to ok
- 2
Mając 6 miesięczne doświadczenie wrzucać do CV swoje projekty? #programowanie #programista15k #cpp #javascript #java #springboot
@noway321: wrzucac, wrzucac co sie da i ile sie da technologii wylistowac.. nawet takie pierdy jak HTML, XML.. wszystko jak leci.. edytory jakich uzywales.. wszystko
konto usunięte via Wykop
- 13
wrzucac co sie da i ile sie da technologii wylistowac.. nawet takie pierdy jak HTML, XML.. wszystko jak leci.. edytory jakich uzywales.. wszystko
@6a6b6c:pierdyliard technologii, których nawet nie znasz ale widziałeś raz na oczy, jak u hindusa, co za bezsens
Mam vector w którym są sharedpointery
std::vector<sharedptr<Object>> tab;
i teraz chcę wyszukać obiekt po jednym z jego
std::vector<sharedptr<Object>> tab;
i teraz chcę wyszukać obiekt po jednym z jego
@Gerax9: możesz stworzyć też stworzyć (generyczny) adapter, który będzie przyjmował funktor akceptujący
przykładowy jednolinijkowy adapter w c++17(ofc można dorzucić tam perfect forwarding, ale to troche skomplikowane przy capture)
T, a który będzie zwracał funktor akceptujący U, gdzie dereferencja U będzie dawać T. wtedy będzie można użyć tego mniej więcej takstd::find_if(tab.begin(), tab.end(), withDeref([](const Object& obj){return obj.atr == 3;}));przykładowy jednolinijkowy adapter w c++17(ofc można dorzucić tam perfect forwarding, ale to troche skomplikowane przy capture)
constexpr auto withDeref = [](auto& functor){return [functor](const auto& dereferencable){return@Gerax9:
boost::find_if(tab | boost::adaptors::indirected, [](const Object& obj){return true;});
boost::find_if(tab | boost::adaptors::indirected, [](const Object& obj){return true;});
Treść przeznaczona dla osób powyżej 18 roku życia...
Próbowałeś wyłączyć i włączyć ponownie?
Ewentualnie możesz jeszcze zainstalować Adobe Readera.
Ewentualnie możesz jeszcze zainstalować Adobe Readera.
konto usunięte via Wykop
- 223
@SmieszneZakola: Wytrzymasz 2/3 lata i później za to płacą 15k, mimo że nadal nie ogarniasz.
źródło: WorldWindJava
Pobierz@Nieuk15k:
NASA Used 1960s-1970s Software Into The 2000s, Here's Why
https://www.forbes.com/sites/quora/2014/10/17/nasa-used-1960s-1970s-software-into-the-2000s-heres-why/?sh=66415db04d91
NASA Used 1960s-1970s Software Into The 2000s, Here's Why
https://www.forbes.com/sites/quora/2014/10/17/nasa-used-1960s-1970s-software-into-the-2000s-heres-why/?sh=66415db04d91
@Nieuk15k: słuchaj no szczylu zafajdany
Dostałem dzisiaj ciekawą ofertę. Prawie #programista30k
Zobaczymy co z tego wyjdzie ¯\_(ツ)_/¯
#cpp #it #programista15k #chwalesie
Zobaczymy co z tego wyjdzie ¯\_(ツ)_/¯
#cpp #it #programista15k #chwalesie
- 0
Hej. Pracuje ktoś lub pracował w Nokia w Bydgoszczy i może opisać swoją opinię na priv lub tutaj? #it #programowanie #bydgoszcz #programista15k #java #cpp
Jak zrobić żeby funkcja mogła używać obiektów które dopiero potem powstaną?
Czy dodanie przed prototypem obiektu najpierw, przed funkcją to jedyna opcja?
#cpp #programowanie #naukaprogramowania
Czy dodanie przed prototypem obiektu najpierw, przed funkcją to jedyna opcja?
#cpp #programowanie #naukaprogramowania




























#cpp