Angielski umiem, ale jednak wolałbym się uczyć z polskiego źródła ;)


@nerfipro174: Czyli nie umiesz go na tyle komfortowo żeby w nim się czegoś uczyć. Polskie materiały są prawie zawsze przynajmniej o klasę albo więcej gorsze niż materiały angielskie.
  • Odpowiedz
#programowanie #cpp

Dramat w czterech aktach:

1. @Khaine mamy tutaj jakieś zgłoszenie nierozwiązane sprzed 2 lat, weź się przyjrzyj czy to już czasem nie działa xD
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@MamCieNaHita: Jak masz commity z 2005 roku w C++ to myślę, że jesteś w stanie sobie dalej wyobrazić jakimi narzędziami jest to ulepione i co tam w środku da się znaleźć xD I to nie są nawet takie bardzo stare fragmenty kodu. Najstarsze są z okolic 1999 chyba.

To był czas kiedy z tego co słyszałem nie korzystali nawet z systemu kontroli wersji tylko n----------i komentarze w pliku notatnikowym z opisem
  • Odpowiedz
@bartekplus: Masz rację. Jakoś umysłowo ograniczyłem się tylko do kodu z książek o programowaniu o których wspomina autor gdzie większość przykładów to po prostu jakiś main z kodem pokazującym podstawowe instrukcje języka
  • Odpowiedz
@Khaine: w tym samym TU to chyba jest ok, ale głowy nie dam. Bardziej mnie dziwi, że version jest tablicą 3 wskaźników/stringów, a bezpośrednio porównujesz tablicę z czymś, co może być jej elementem.
  • Odpowiedz
Treść przeznaczona dla osób powyżej 18 roku życia...
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Danieru: Unordered map/map/unordered set/set mają unikalne klucze. Ale niezbyt ten kod mi się podoba.

chociaż cofam, on nie chce usunąć powtarzających się n razy, tylko od n-tego powtórzenia. To jest całkiem spoko, ale jak chce być spryciarzem to może po prostu napisać if(++mp[*itr] > n), i będzie jeden hash+lookup+pesymistycznie milion przejść przez linked listę mniej.
  • Odpowiedz
@Danieru: Tworzona jest pusta. Ale operator [] dodaje element, jeśli go w mapie nie ma, z domyślną wartością. Domyślną wartością dla inta jest 0. więc mp[42], jeśli w mapie nie ma klucza 42, dodaje klucz 42 z wartością zero. Tutaj jest od razu inkrementowany - a więc inkrementowana jest albo poprzednia wartość (licznik) powtórzeń, albo 0, aby zapisać pierwsze.

To standardowy idiom na zliczanie znaków/intów/innych małych rzeczy
  • Odpowiedz
Kolega oferuje praktyki dla admina/devops lub programisty C lub C++ lub C# (właściwie szuka na osobne stanowiska, natomiast admin z podstawami programowania lub odwrotnie, też pasuje) . Szuka osób z #krakow zainteresowanych #linux #debian #opensource #cpp #programowanie
Praktyki byłyby 5-8h na dzień, najlepiej codziennie. Oczekuje sumienności i staranności oraz chęci do nauki.
Czas praktyk to jakieś 2 miesiące, później możliwa dalsza współpraca,
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć
Czy ktoś z Was posiada linka do kursu jak korzystać z baz danych pisząc w c++? Ewentualnie może ktoś zna tytuł książki, w której jest to w miarę prosto wytłumaczone.
Z góry dziękuję za odpowiedzi.
#cpp #mysql
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mirkujacyZwilkami: Powiedz temu panu, zeby ktos przejrzal i wskazal bledy, uwagi i spostrzezenia przed publikacja kolejnych filmikow.

Ustawienia wizualne edytora wolaja o pomste do nieba. Nie wiem jaki tez jest target, ale pan uzywa uproszczen, ktore nie zawsze sa prawdziwe.
  • Odpowiedz
Elo programujące w C++ świry, może ktoś zweryfikować czy dobrze rozumiem jak działa metoda pushback() dla wektora? Dla N elementów wektora alokowany jest blok pamięci o rozmiarze k * N (k > 1), używanie pushback powoduje zapisywanie nowych elementów na tym bloku, a jeśli całkowity rozmiar elementów miałby przekroczyć rozmiar zaalokowanego bloku pamięci, to alokowany jest nowy blok o rozmiarze k * N i "stare" elementy są do niego kopiowane, tak?
#
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@FortunaHej:

To jest jeden przyklad, jakby sie nie skopiowalo to zalozylbys ze sie nie kopiuje?

nie, ale ten przykład obrazuje, że to się dzieje, co jest wystarczającym powodem by go zamieścić.

Uzywaja nawet innych funkcji do alokacji i kopiowania. Zachowuja sie inaczej. Nie wiem jak z domyslnymi wartosciami rozszerzania.

Efekt ten sam (standard), pod spodem to bywa inaczej nawet między wersjami kompilatora.
  • Odpowiedz
@FortunaHej: zwiększanie rozmiaru zaalokowanego obszaru dla wektora razy dwa prowadzi do problemów alokacji lub dziur w pamięci (nb rosnących wraz z wektorem).

Po prostu alokując 2*k*N masz zamrożone 1*k*N + 0.5*k*N + 0.25*k*N.... = prawie 2*k*N z poprzednich alokacji. Ponadto nowa alokacja musi nastąpić przy największym obszarze nadal zaalokowanym by móc przenieść/przekopiować dane. Zwiększając rozmiar bufora nie masz szans użyć obszaru z poprzednich alokacji.

Lepszym rozwiązaniem jest zwiększanie obszaru np.
  • Odpowiedz
#cpp #programowanie Mireczki jaki kurs dla początkującego programisty polecacie w C++? Najlepiej kursy w formie wideo, ewentulanie bloga jeszcze ujdą, książki z góry odpadają. Uprzedzając pytania, C++ jest to mój pierwszy język i wiem, że jest ciężki na początek, ale chce się go uczyć i już.
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach