@VanQator: Wczytujesz 11 znaków pesela a nie wczytujesz znaku końca lini.
Dodaj cin.ignore() jak chcesz ten jeden znak zignorować, lub nieskończenie wiele znaków do końca lini to:

cin.ignore( std::numeric_limits::max(), '\n' );
  • Odpowiedz
@VanQator: Do nagłówków nie powinno się pchać nic, co nie służy do skompilowania tego nagłówka.
Czyli jeżeli używamy jakiejś innej klasy jako referencje lub wskaźnik to zamiast inkludowania nagłówka dajemy tylko deklarację danej klasy. Często ukrywa się definicję klasy jeżeli jedynie implementuje jakiś interfejs.
Resztę do odpowiedniego pliku cpp, a te często używane najlepiej w-----ć je do prekompilowanego nagłówna.

Chociaż ja już nie mogę się doczekać modułów.
  • Odpowiedz
@Leto9:
- Dokument wyjaśniający podstawy i podejście https://docs.google.com/document/d/1e9IVt5x_W8FW24R-7BaQh3xf3jShHfJGzMEjm0E1sWg
- Podręcznik Piotra Wicherskiego, który przybliża tematy testowania i QA: https://pwicherski.gitbook.io/testowanie-oprogramowania/
- Zestawienie wielu źródeł nauki testowania oprogramowania: http://browserspot.com/2017/12/08/gdzie-sie-uczyc-testowania-oprogramowania/
- 10 najlepszych narzędzi do testów API: http://testerzy.pl/narzedzia/10-najlepszych-narzedzi-do-testow-api
- 10 przydatnych narzędzi dla każdego
  • Odpowiedz
@VanQator: Dobra książka ma racje. Normalnie kompilator tworzy operator przypisania z konstruktora. Ale w twojej klasie jest const double przez co kompilator postanowił usunął operator przypisania i dlatego nie możesz go używać do póki nie zadeklarujesz własnego.
  • Odpowiedz
Witam, czy ktoś brał kiedykolwiek udział w speed recruitment na C++ developer w Nokii i mógłby powiedzieć czego mniej więcej można się spodziewać na takiej rozmowie? :)
#cpp #programowanie #it #pracait
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#cpp
Jaką bibliotekę do grafiki 2D polecacie?
Może być to bibliteka do gier. Chodzi generalnie o to aby zapewniała możliwie wygodną integrację klawiatury + myszy + rysowania i przemieszczania obiektów na ekranie.
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Czy "reproducible build environment" jest do uzyskania wylacznie za pomoca dockera? Bardziej chodzi mi o zewnetrzne zaleznosci wpiete w kontrole wersji, niz idealne checksumy elf/pe.
Przed era dockera po prostu robilo sie skomplikowany system luster (virutalek)?

#cpp
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Leto9: smart pointery i lock guardy właśnie polegają na RAII więc nic nie zastąpiłeś tylko zacząłeś używać tego tak jak zostało to zaplanowane.
  • Odpowiedz
@Leto9: Nie, RAII sprowadza się do:

{
Foo foo; // stworzenie zmiennej
// …
} // tutaj zmienna foo zostanie automatycznie zniszczona (aka kompilator wstawi wywołanie destruktora)
  • Odpowiedz
konto usunięte via Wykop Mobilny (Android)
  • 3
@Leto9: Mogę się nie znać, bo nie pisałem w cpp więcej niż parę pętli i if ów, ale wydaje mi się, że powodem może być to, że metoda zwracająca rozmiar czegoś zwraca pewnie zmienne typu unsigned. W warunku początkowym schodzisz poniżej 0 i następuje underflow. Wtedy imo to robi sens, czemu Ci działa po zrzutowaniu na inta.
  • Odpowiedz
#cpp #programowanie
Czy ktoś wyjaśni łopatologicznie, na czym polega idea tego drzewa binarnego. Gość mówi, że każde ciecko musi mieć mniejszą wartość niż jego rodzic, no ale przecież tutaj jest odwrotnie...
VanQator - #cpp #programowanie
Czy ktoś wyjaśni łopatologicznie, na czym polega idea...
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@VanQator: ogarnianie STL a ogarnianie struktur to czesto dwie rozne rzeczy. STL to tylko interfejs a to jakie struktury sa uzyte to szczegoly implementacyjne czesto rozniace sie pomiedzy platformami. Jak chcesz sie skupic na STLu to wez do reki dobra ksiazke o cpp i przeczytaj poswiecone STLowi rozdzialy
  • Odpowiedz
@Leto9: remove przesuwa niepasujące elementy na początek i zwraca gdzie zaczynają się "usunięte" elementy, erase usuwa odkąd zwróci remove. powinieneś użyć 2 argumentowego erase, żeby usunąc wiecej niż jeden element

nums.erase(std::remove(nums.begin(), nums.end(), 0), nums.end());
  • Odpowiedz
Treść przeznaczona dla osób powyżej 18 roku życia...
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@QBA__: kompilator ci dobrze mówi, content jest lvalue referencją, a ty mu przekazujesz rvalue nullptr.
problem w tym, że nie wolno ci zrobić czegoś takiego jak pusta referencja. to, że działa ci teraz, nie znaczy, że zadziała w przyszłości. kompilator jeżeli widzi referencję, to może zrobić założenie, że nie jest ona pusta.

przy agresywnej optymalizacji kompilatora może ona zwracac zawsze true, nawet jak przekażesz pustą referencję:

bool
  • Odpowiedz