Pracuję sobie aktualnie jako dev C++ i w nowej firmie mam coś takiego jak "budżet rozwojowy" w ilości 3.5k, który mogę wydać na różne szkolenia, kursy, książki itd. Myślałem trochę na co to spożytkować, bo pierwszy raz coś takiego mam i w sumie chyba bym chciał iść powoli w kierunku machine learningu. I teraz pytanie- jakie polecacie kursy i książki za które warto się wziąć? I na które uważać? Coś z pythona
Wszystko
Najnowsze
Archiwum
- 2
Wytłumaczy/podlinkuje mi ktoś czemu #python jest taki prosty i intuicyjny, a #cpp to istna męczarnia, a mimo to w programie nauczania jeet cpp?
#programowanie #informatyka #naukaprogramowania
#programowanie #informatyka #naukaprogramowania
@NoNameNoIdeaNoLife: jest przeświadczenie że naukę lepiej zaczynać od języków niższego poziomu aby lepiej poznać podstawy. Czy słusznie - nikt nie wie, jednak fakt że niższych języków później warto liznąć i tak.
CPP jest o tyle słaby do nauki że w większości w programie nauczania to miszmasz z C, do tego komunikaty kompilatora nie są łatwe do zrozumienia dla początkujących.
CPP jest o tyle słaby do nauki że w większości w programie nauczania to miszmasz z C, do tego komunikaty kompilatora nie są łatwe do zrozumienia dla początkujących.
@rotflolmaomgeez: @mprzemo: @LewitujacyMnich:
Im jestem starszy, tym bardziej doceniam statyczne typowanie :)
Języki mają to do siebie, że wymuszają pewien tok rozumowania, czy nawet wizualizacji projektu. Podobnie wzorce projektowe implementuje się inaczej i niektóre są bardziej popularne w jednych językach, inne mniej. Na takim poziomie się dopiero zabawa z programowaniem zaczyna. Wcześniej to jedynie walka o przetrwanie. Zadajesz sobie pytanie "jak to zrobić" i szukasz odpowiedzi.
Im jestem starszy, tym bardziej doceniam statyczne typowanie :)
Języki mają to do siebie, że wymuszają pewien tok rozumowania, czy nawet wizualizacji projektu. Podobnie wzorce projektowe implementuje się inaczej i niektóre są bardziej popularne w jednych językach, inne mniej. Na takim poziomie się dopiero zabawa z programowaniem zaczyna. Wcześniej to jedynie walka o przetrwanie. Zadajesz sobie pytanie "jak to zrobić" i szukasz odpowiedzi.
- 0
Mirki jakas podpowiedź co do zadania?
Rozważamy liczby naturalne z przedziału 11....n gdzie n >= 11. Wypisz te liczby dla których suma cyfr jest równa iloczynowi cyfr lub -1 gdy takich liczb nie ma.
Zadanie musi być zrobione tylko przy uzyciu pętli. Wiem że jest pewnie banalne ale nie mogę sobie z nim poradzić ¯\_(ツ)_/¯
#programie #cpp #informatyka
Rozważamy liczby naturalne z przedziału 11....n gdzie n >= 11. Wypisz te liczby dla których suma cyfr jest równa iloczynowi cyfr lub -1 gdy takich liczb nie ma.
Zadanie musi być zrobione tylko przy uzyciu pętli. Wiem że jest pewnie banalne ale nie mogę sobie z nim poradzić ¯\_(ツ)_/¯
#programie #cpp #informatyka
@Canova: masz 123, dzielisz przez 10 tym dzieleniem modulo, co zwraca ci reszte z dzielenia, czyli 123%10 to 3, 12%10 to 2, i tak dalej,
na stringa też dobre
na stringa też dobre
- 0
@JakTamCoTam: @Sempaaj: o modulo nie pomyslałem, konwersja na stringa odpada bo to jeszcze nie ten poziom chyba. Dalej czaje całe nic ale mam już jakis punkt zaczepienia, dzięki za pomoc mireczki.
Właśnie w książce "Język C++. Kompendium wiedzy" trafiłem na coś takiego:
"Zwróć uwagę, że funkcja bind() przyjmuje jako argumenty zwykłe wyrażenia. To oznacza, że
referencje są poddawane dereferencji, zanim funkcja bind() ich użyje. Na przykład:
"Zwróć uwagę, że funkcja bind() przyjmuje jako argumenty zwykłe wyrażenia. To oznacza, że
referencje są poddawane dereferencji, zanim funkcja bind() ich użyje. Na przykład:
void incr(int& i)- 3
@vonBielau: za https://en.cppreference.com/w/cpp/utility/functional/bind: The arguments to bind are copied or moved, and are never passed by reference unless wrapped in std::ref or std::cref. Jest to prawdą dla argumentów funkcji bind. Ale nie dla jej rezultatu. Czyli gdybyś do std::bind przekazał referencję, to zostałaby ona zdereferencjonowana. Ale gdy już wołasz to co zwróciło bind, to możesz tam przekazywać jak chcesz.
- 1
Podsumowując przykład powinien wyglądać tak:
void incr(int& i)
{
++i;
}- 0
#cpp #programowanie #std #algorytmy Mireczki, pomusz.. bo trochę mi mózg przestał działać..
chcaiłbym użyć std::sort() zeby sobie posortować ale nie tablice z liczbami tylko tablice ze strukturami sortując po zmiennej wartość, czyli mam taką klasę:
class myclass
{
chcaiłbym użyć std::sort() zeby sobie posortować ale nie tablice z liczbami tylko tablice ze strukturami sortując po zmiennej wartość, czyli mam taką klasę:
class myclass
{
Komentarz usunięty przez autora
@Kopytko1:
std::sort(v.begin(), v.end(), [](const myclass& lhs, const myclass& rhs){ return lhs.wartosc < rhs.wartosc; });Siema Wykopowicze! ( ͡º ͜ʖ͡º)
Dziś mamy treści dla nieco bardziej zaawansowanych programistów (⌐ ͡■ ͜ʖ ͡■)
Zgodnie z obietnicą Wojtek Razik nagrał film, na którym wyjaśnia, czym jest SFINAE oraz pokazuje, dlaczego nie będzie ono potrzebne po dodaniu
Dziś mamy treści dla nieco bardziej zaawansowanych programistów (⌐ ͡■ ͜ʖ ͡■)
Zgodnie z obietnicą Wojtek Razik nagrał film, na którym wyjaśnia, czym jest SFINAE oraz pokazuje, dlaczego nie będzie ono potrzebne po dodaniu
źródło: comment_HSG9rzUhq4nc6n5XP0H9TgkPpZYrlczj.jpg
Pobierz- 7
- 3
@CppPolska: No fajnie a co potem powiemy klientowi, jak na jego prehistorycznej platformie się nie skompiluje? Embeded to trudna działka.
Potrzebuje napisac program, który wygeneruje mi:
- pliki bmp zawierające 4-5 znakowe teksty
- plik xml mapujący tekst ze zdjęcia ze zdjęciem
- zestaw znaków jest ograniczony do 11 liter i 5 symboli
Czy są do tego jakieś fajne biblioteki w #python lub #cpp ?
Umiałbym coś takiego łatwo machnąć w #java ale nie chciałbym dodawać kolejnego języka w którym tworzę narzędzia w tym projekcie.
- pliki bmp zawierające 4-5 znakowe teksty
- plik xml mapujący tekst ze zdjęcia ze zdjęciem
- zestaw znaków jest ograniczony do 11 liter i 5 symboli
Czy są do tego jakieś fajne biblioteki w #python lub #cpp ?
Umiałbym coś takiego łatwo machnąć w #java ale nie chciałbym dodawać kolejnego języka w którym tworzę narzędzia w tym projekcie.
źródło: comment_Evb9WNYNPS1xPrNRdrj99tNoLTgwhgtI.jpg
Pobierz@szcz33pan: generuje sam obrazek w momencie generowania zapisz sobie gdzieś prawidłowa captche która jest na nim zapisana. A to co wprowadzi użytkownik wysyłaj jako chociażby tekst albo pozycję każdej z literek i porównuj takie dane a nie obrazki
- 1
Treść przeznaczona dla osób powyżej 18 roku życia...
Czy da się stworzyć tablicę tablic? Chodzi mi o to, żeby każdy element tablicy A [3] [3] przechowywał jakąś tam tablice np 3 elementową.
#cpp #programowanie
#cpp #programowanie
- 2
@Prima_aprilis: da się
konto usunięte via Wykop Mobilny (Android)
- 1
czy jest gdzie w necie dostępny jakiś kod "Low-Latency Systems" czy może to zbyt egzotyczny twór? dodam że nie zamierzam zostać #programista40k który takie systemy tworzy po prostu jestem ciekaw takiego wynalazku (⌐ ͡■ ͜ʖ ͡■)
#java
#cpp
#programowanie
#java
#cpp
#programowanie
są systemy real-time https://www.osrtos.com/
- 1
reużywać
@rorschach: powinienieś zostać rozstrzelany przed plutonem egzekucyjnym złożonym z polonistów za zbrodnię na języku.
Mircy ostatnio ktoś tutaj wrzucił wykopalisko o Kursie C++ gdzie Mirek używał Visual Code do tego.
Pomożecie mi znaleźć linka do tego?
Z góry dzięki
#cpp
#programowanie
#kiciochpyta
Pomożecie mi znaleźć linka do tego?
Z góry dzięki
#cpp
#programowanie
#kiciochpyta
@obywatel_panstwa_idiotow: Na przyszłość: #cpp
- 0
https://www.wykop.pl/ludzie/CppPolska/
@kosmaty: GENIUSZ !!!! jesteś Mirek( ͡° ͜ʖ ͡°)
Mega KOMPOT dla Ciebie!!!
chodziło o kurs Wojtka Razika!
Siemanko swiry. Mam problem, mianowicie chce wpisywac do tej tablicy jednowymiarowej jakiś podciąg liczb z pliku i potem sprawdzać czy jest to ciąg rosnący. Kod kompiluje sie ale pojawia sie ze cmd przestał działać( ͡° ʖ̯ ͡°) Pomoże ktoś zlokalizować błąd i ewentualnie sprawdzi czy to bedzie działać git wtedy?
#include
#include
using
#include
#include
using
Nigdy nie pisałem w #qt, ale tworzenie kontrolek wygląda chyba mniej więcej tak:
CWindow* MainWindow = new CWindow(...);
CButton* ExitButton = new CButton(MainWindow); // nie ma konstruktora domyslnego?
ExitButton->setPosition(...); // itdCWindow jest klasą pełniącą funkcję swego rodzaju "managera", który "zbiera" nowo utworzone kontrolki i nimi zarządza, a sam konstruktor kontrolki (prawdopodobnie) nie może być wywołany bez podania wskaźnika do tego managera. Jak się nazywa ten wzorzec projektowy? Jakie są jeszcze inne wzorce- 2
@Feargan: Każdy QObject przyjmuje w konstruktorze wskaźnik na rodzica. Każdy rodzic ma listę dzieci. Przy destrukcji rodzica, dealokowane jest też każde z jego dzieci. Oczywiście jest to wzorzec kompozytu, ale też trochę łańcuch odpowiedzialności, szczególnie jeśli chodzi o przekazywanie sygnałów.
W Qt da się ich bardzo dużo znaleźć jak nie wszystkie, prócz takich które są niepotrzebne. Przykładowo nie znajdziemy typowego Obserwera, bo ze względu na mechanikę slotów, każdy QObject może
W Qt da się ich bardzo dużo znaleźć jak nie wszystkie, prócz takich które są niepotrzebne. Przykładowo nie znajdziemy typowego Obserwera, bo ze względu na mechanikę slotów, każdy QObject może
- 0
@erajwa: oj już nie będę.
zresztą to tylko konwencja
zresztą to tylko konwencja
Stworzyłem sobie klasę Clients która zawiera public: int timeofeating;
Następnie stworzyłem vector lnewclients; i dodałem do niego dwa elementy:
risto.lnewclients.pushback(new Clients);
risto.lnewclients.pushback(new Clients);
problem pojawia się
Następnie stworzyłem vector lnewclients; i dodałem do niego dwa elementy:
risto.lnewclients.pushback(new Clients);
risto.lnewclients.pushback(new Clients);
problem pojawia się
@PlantatorCebuli: a tam nie cza jakiejś strzałki zamiast kropki?
@PlantatorCebuli: Nie potrzebujesz tam tych gwiazdek, możesz mieć vector, robić emplace_back(), a w sortowaniu:
bool myfunction(Clients& i, Clients& j) { return (i.timeofeating < j.timeofeating); }
Wtedy nie będziesz potrzebował strzałek, operatora new ani innych udziwnień.
bool myfunction(Clients& i, Clients& j) { return (i.timeofeating < j.timeofeating); }
Wtedy nie będziesz potrzebował strzałek, operatora new ani innych udziwnień.
Dzień dobry programujący wykopowicze! ( ͡º ͜ʖ͡º)
Mamy dla Was nowy wpis na naszym blogu! ( ͡º ͜ʖ͡º) Grono naszych autorów poszerza się o Nikolai Wuttke ( ͡°
Mamy dla Was nowy wpis na naszym blogu! ( ͡º ͜ʖ͡º) Grono naszych autorów poszerza się o Nikolai Wuttke ( ͡°
źródło: comment_FU9gnvgdOsbPK4S4Aov4pkNHhmHKI4QN.jpg
PobierzZaraz k-----y dostane. Pomoże ktoś znaleźć wytłumaczenie dlaczego Visual Studio wywala errory?
https://pastebin.com/njTxERYT Waiter.h:
#pragma once
class Waiter
{
https://pastebin.com/njTxERYT Waiter.h:
#pragma once
class Waiter
{
no tak, typ musi się zgadzać w nagłówku i w cpp.
@PlantatorCebuli: W C++ musimy wprost napisać, jakiego typu jest funkcja/metoda. Jeśli nie zwracamy nic, dajemy void. Specjalnym przypadkiem są konstruktory/destruktor, które po prostu nic nie mogą zwrócić.
Waiter::~Waiter() // To jest ok, destruktor nie może nic zwracać
Waiter::SetID(int n) // To nie jest ok, SetID nic nie zwraca,
Waiter::~Waiter() // To jest ok, destruktor nie może nic zwracać
Waiter::SetID(int n) // To nie jest ok, SetID nic nie zwraca,
@C10H15N: drugi przypadek może być "The most vexing parse" o ile value jest typem.
Pomijając powyższe, różnica jest taka, że kompilator nie wykona niejawnego rzutowania:
Pomijając powyższe, różnica jest taka, że kompilator nie wykona niejawnego rzutowania:
int d(1.0); // Ok
int e{2.0}; // To się nie skompiluje (dla -std=c++1x)@C10H15N: Niestety, język C++ zawiera trochę ciemnych zakamarków. Usilnie próbują być naprawiane, a wychodzi.... jeszcze gorzej.
Jednym z takich zakamarków jest inicjalizacja zmiennych. Jedną zmienną można inicjalizować na baaaardzo wiele sposobów (stanowczo zbyt wiele). U ciebie, oba zapisy są równoważne.
W twoim kodzie masz dwa różne sposoby inicjalizacji, które zrobią dokładnie to samo - wywołają konstruktor przyjmujący typ
Jednym z takich zakamarków jest inicjalizacja zmiennych. Jedną zmienną można inicjalizować na baaaardzo wiele sposobów (stanowczo zbyt wiele). U ciebie, oba zapisy są równoważne.
W twoim kodzie masz dwa różne sposoby inicjalizacji, które zrobią dokładnie to samo - wywołają konstruktor przyjmujący typ
źródło: comment_lhgh1tCp4yvU1u2DoPKfuq37xdTQ7TL4.gif
Pobierz- 205
Dzień dobry współwykopujący! ( ͡º ͜ʖ͡º) Wojtek Razik udostępnił dziś trzeci odcinek swojego kursu C++ od podstaw!
Dzisiaj omawiana jest instrukcja warunkowa! (⌐ ͡■ ͜ʖ ͡■)
Dzisiaj omawiana jest instrukcja warunkowa! (⌐ ͡■ ͜ʖ ͡■)
źródło: comment_S2auIxsFyfXwaeDFIkNHyniFjqytFTPW.jpg
Pobierz- 26
co za głupia mania, trzy filmy, ale patronite już założony. Jak się robi kursy tylko dla $ to daleko się nie zajedzie.
@CppPolska: kursy programowanie w formie video to rak, traci się na nie kilkukrotnie więcej czasu niż na takie w formie tekstu. Nie szanuje.
Czemu w książce Prata forsowane jest definiowanie funkcji pod funkcja główna main(), a w kazdym innym kursie/książce jest to robione na początku? Ma to jakiś wpływ na wydajność czy zwykla organizacja kodu?
#programowanie #cpp #informatyka
#programowanie #cpp #informatyka
- 2
@keton22: bzdura nie musialy. Deklaracje musiały mieć, w C++ też muszą mieć deklaracje wcześniej.
@Canova: kwestia organizacji, pamiętaj tylko ze zanim funkcja jest użyta kompilator musi znać jej deklaracje. Tak szczerze to odradzam Ci książkę Praty bo uczy języka C ubranego w szlafrok C++ i potem będziesz musiał się oduczyć wielu nawyków myślowych.
























#cpp #naukaprogramowania
Jak już coś to strncpy(x, "eloelol", sizeof(x) - 1); (czeka na null/zero, albo ilość znaków). Tym kopiujesz zawartość od początku adresu tablicy, bajt po bajcie ze zmiennej.
No i na ostatnim znaku masz mieć zero, bo Ci się cout wykrzaczy. To Ci zostawię jako zadanie domowe.