Wciągnąłem się w naukę C++. Słyszałem że warto chociaż trochę liznąć tego języka, natomiast nie widzę żeby obecnie była to jakaś pożądana umiejętność na rynku pracy. Jestem trochę w kropce bo serce mówi jedno (zawsze fascynowały mnie przede wszystkim gry) a rozsądek drugie. Rzucać w cholerę czy brnąć w to dalej?
#programowanie #cpp
  • 20
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@dqdq1: oczywiscie ze jest praca i to dobrze płatna, zgadzam sie że jest jej mniej ale C++ jest używany wszędzie tam gdzie potrzebna jest wysoka wydajność oprogramowania - telekomunikacja, automotive, embedded, bankowość (high frequency trading) i pewnie wiele innych dziedzin. Język nie należy do łatwych przez co nie załapiesz roboty po pierwszym lepszym kursie, zwykle nawet na Juniora wymagaja dość dobrej znajomości języka. No i jest to programowanie dosyć niskopoziomowe
  • Odpowiedz
@dqdq1: @shaxyz4278: Jak nauczycie sie dobrze C++ to robota sie znajdzie. Fakt jest jej mniej, ale dobry programista C++ zawsze ja znajdzie. C++ jest jednak bardzo trudnym jezykiem. Sam jezyk jest bardzo skomplikowany, dodatkowo dochodzi jego specyficzne zastosowanie - czesto dosc niskopoziomowe. Co powoduje ze prog wejscia jest naprawde gigantyczny, a finansowo nie jest jakos bardzo dobrze.
  • Odpowiedz
Krótka piłka: co dla zaczynającego zabawę z #cpp Opus magnum C++11. Programowanie w języku C++ od Grębosza czy Programowanie. Teoria i praktyka z wykorzystaniem C++ od Stroustrupa? Co polecacie?
#naukaprogramowania
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

A możesz użyć biblioteki standardowej C++? Bo jeśli tak to zamiast tego const char* to użyj std::string a zamiast potworka Contact** to std::vector
  • Odpowiedz
#cpp #programista #cplusplus #pomocy

Potrzebuję pomocy. Mam dane zadanie i o ile nie mam problemu z tablicami to wplecenie w to funkcji w taki sposób jaki mam zadany sprawia mi kłopot.

Wczytać dane do tablic a[N] [N] i b[N] [N], gdzie N to dowolna stała. W tablicy a obliczyć za pomocą funkcji sumę elementów podzielnych przez 5 w 3 pierwszych kolumnach, zaś w tablicy
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@rtoz:

Powinno być "int suma{};", a nie "int suma;" - wtedy będzie działać. Jeśli tak wpiszesz to zmienna zostanie zainicjalizowana właściwym zerem (np. dla double byłoby to 0.0). (Bez inicjalizacji, przy zmiennych lokalnych, nie ma pewności jaka wartość znajdzie się tam na początku). Dodatkowo {} niepozwala na niejawne konwersje mogące spowodować, potencjalnie, utratę części wartości zmiennej np. z double na int.
  • Odpowiedz
@rtoz:

Inicjalizację za pomocą {} wprowadzono w c++11
Niektóre kompilatory.(a na pewno g++) wymagają dodatkowego infa przy kompilacji, że chcesz z niego korzystać. Dopisanie takiej komendy, albo zamiana na int suma = 0 powinno rozwiązać sprawę.
  • Odpowiedz
@wykoszonytrawnik: działa, bo jest zmienną globalną, co jest fuj i bez sensu. możesz też jako ciekawostkę zadeklarować result jako static, choć to tez będzie swoje kosztować..., a najlepiej nie zwracać wskaźników do zmiennych lokalnych, bo to jest ub.
  • Odpowiedz
Mirki, mam prośbę. Przerobiłem sobie kurs Zelenta z C++, która jak widzę ma bardzo mieszane opinie i wszędzie czytam: "rób projekty", "zacznij projekt", jeśli chce się czegoś nauczyć. Zastanawiam się nad zrobieniem jakiejś prostej gry z GUI i prosiłbym o najlepsze, waszym zdaniem, źródła do nauki (kurs wideo, książka). Dodam też, że jutro odbieram książkę Prata "Szkoła programowania".
#naukaprogramowania #cpp
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Percent: nie znam się, ale się wypowiem. Na oko służy pobraniu znaku z klawiatury.
Póki czegoś nie naciśniesz, pauzuje. W bonusie możesz wprowadzony znak przypisać do jakiejś zmiennej albo zrobić inne szalone pomysły.
  • Odpowiedz
@garfyld: Po instalacji czy instalka? Pewnie jeszcze na XPeka? A może w wersji bez instalacji?
MINGW zajmuje po instalacji z 500MB, clang i LLVM mimo że niema biblioteki standardowej ponad 700MB, ciekawe jak MSVC bo nie wiem:
http://landinghub.visualstudio.com/visual-cpp-build-tools
A inne kompilatory kompletnie się nie liczą, albo nie są bezpłatne.
Po za tym jeżeli poprzez program rozumiesz całe IDE to jeszcze gorzej, chociaż sam QtCreator waży zaledwie 300MB.
Chyba lepiej przejść
  • Odpowiedz
Treść przeznaczona dla osób powyżej 18 roku życia...
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@zwei: A co was uczą czegoś więcej? Częściowych specjalizacji? Szablonów zmiennoparametrowych (variadic templetes)? Czy już was rozłożyli na łopatki tłumacząc SFINAE? Jeżeli nie to pewnie jeszcze daleka droga do meta programowania.

@KolejnyWykopowyJanusz: A za rogiem już czeka STL 2 X-D

Po za tym już w starym C++14 można używać słówka auto w deklaracjach funkcji tworząc z funkcji szablony i będzie mocno nadużywane we współczesnym kodzie. Dodatkowo dochodzi szablonowe
  • Odpowiedz
Mireczki jest sprawa!
Jak byście rozwiązali problem, żeby podczas wpisywania stringa za pomocą std::cin,
ograniczyć tego stringa do np. 5 znaków od razu podczas wpisywania. Czyli po przekroczeniu owych
5 znaków ten string sie wyświetlał, a program kończył działanie.

#naukaprogramowania #programowanie #cpp
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@fajnychlopak: jak chcesz wczytać słowo do stringa do 5 znaków to

std::cin >> std::setw(5) >> slowo

Jak chcesz wczytać całe zdanie najlepiej do końca linii to lepiej zrobić std::getline i potem resize na wczytanym stringu.
Jak chcesz wczytać dokładnie
  • Odpowiedz
Zacząłem w końcu robić wersję mybelka z GUI! I to zostawiając jednocześnie możliwość budowania wersji CLI only.
Nadal jednak brakuje mi chociażby kategorii wydatków, przycisk na razie nic nie robi- zastanawiam się czy lepszy byłby wysuwany sidebar z prawej strony aplikacji czy też zrobić po prostu wyskakujące okienko z wprowadzaniem tej nowej transakcji.
Zastanawiałem się przedtem też nad synchronizacją- teraz przyszła mi do głowy myśl aby zrobić tak żeby znajdywało inne instancje
Leinnan - Zacząłem w końcu robić wersję mybelka z GUI! I to zostawiając jednocześnie ...

źródło: comment_Ig6dKEj4Rasglwj63lUUWKR4Vr3x1ZKo.jpg

Pobierz
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@QiQu: Na ten moment nie. Z czasem ewentualnie dodam opcję aby po zaznaczeniu checkboxa była tego możliwość, chociaż zawsze domyślnie wyłączona aby ktoś przez przypadek nie edytował.
  • Odpowiedz
sensownego poliformizmu


@ca1ek: co uważasz za sensowny polimorfizm? Imo polimorfizm w cpp jest jedną z bardziej udanych rzeczy zważywszy na zero-cost abstraction.

algebraicznych typów danych.


@ca1ek: jest przecież std::variant / boost::variant
  • Odpowiedz
@Saly: Prawdziwy zero-cost abstraction to tylko polimorfizm statyczny, żaden JIT nie poradzi sobie tak dobrze.
@ca1ek: Jeżeli ktoś nie potrafi rozróżnić definicji od deklaracji i zrozumieć dlaczego definicja jest potrzebna do instantyzacji to jak ma zrozumieć co znaczą błędy linkera, nawet podczas gdy obecnie przy wersji debug całkiem ładnie pokazuje definicje.
  • Odpowiedz
#cpp #programowanie
Mirko, kolejny problem mam i proszę was o pomoc.
Mam ja klasę. Jaka - nieistotne. W środku parę int i wskaźnik na tablicę dynamiczną, jej rozmiar jest jednym z przechowywanych tam intów.
Program działa aż do destruktora klasy.
Nie bijcie za brak formatowania
picture::~picture(void)
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@cookie96:
Po pierwsze, to co napisał @Saly.
Po drugie, w konstruktorze jest ścieżka wykonania która nie inicjalizuje wskaźnika dots.
// Edit: albo i nie istnieje, nie zauważyłem linii 69-70
Po trzecie, w tym kodzie jest jakiś pierdyliard wskaźników które nie wydają się do niczego potrzebne, ale to wygląda trochę jak (złe) nawyki z C.
Po czwarte, spróbuj użyć std::vector dots zamiast int *dots, nic nie allokuj ręcznie tylko jak już wiesz jaki
  • Odpowiedz
Program w C. Mam zmienne typu int w których od 11 (włącznie) bita, do 15 (włącznie) są liczby które chcę wyłuskać.
Najpierw przesuwam w lewo, by "wykasować to co z przodu" i później jadę w prawo do końca
(liczba<<10)>>27
Dlaczego sposób ten działa dla jednej liczby, a dla drugiej już nie? Wychodzi -11 zamiast 21
Noob here ¯\_(ツ)_/¯
#programowanie #cpp
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@icanifiwantto: maska - czyli liczba z jedynkami na pozycjach, ktore cie interesują, jak zrobisz and-a, to ustawione beda tylko te bity ktore byly ustawione w liczbie testowanej, ale tylko na pozycjach ciebie interesujących...
  • Odpowiedz