via Wykop Mobilny (Android)
  • 0
Hejka, czy jest może jakiś sposób by uprościć overload operatorów +, -, *, / oraz ich odpowiedników z "="? Każdy z nich calluje te samą funkcję z różnicą obiektu funkcyjnego std::plus, std::minus, itd. Mój jedyny pomysł opiera się na hacku z preprocesorem i jakimś mniej lub bardziej sprytnym makro. Jednak wydaje się to mi gorsze rozwiązanie od powielania deklaracji funkcji. Może się mylę, a może istnieje jakiś fajny mechanizm, którego świadomy nie
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@VanQator: 1. std::string to jest kontener STLowy a nie żadne osobny byt

2. Znak końca lini '\n' nie ma nic wspólnego z null terminator w C-style strings. Znak końca lini jest implenetowany róznie w zależności od OS. Dla linuxa będzie to CRLF a więc para 0xDA w ASCII, dla Windowsa samo LF. Null terminator to po prosty 0x0.

3. char* podczas wyświetlania nic nie terminuje bo to zwykły typ wskaźnikowy.
  • Odpowiedz
Jaki jest teraz poziom na juniora C++?
Bo programuję prywatnie w tym od jakichś 5 lat i chciałbym się rozeznać w realnych wymaganiach.(patrzałem ogłoszenia i nic się w sumie nie dowiedziałem) Teraz jeszcze będę zaczynał studia więc pewnie dojdzie do tego kolejnych 5 niekomercyjnych lat programowania przed pierwszą prawdziwą pracą.
#programowanie #c++ #programista15k #cpp
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #cpp

Mam do zrobienia kilka programów z wykorzystaniem języka C++ i Windows API. Wszystko opiera się na procesach.
Jest ktoś obeznany w tym temacie? Potrzebuję aby ktoś pomógł mi zrozumieć kilka kwestii.
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@SkorpionX @luigi_pl Czy takie tworzenie nowych procesów jest ok? Można zrobić to jakoś prościej?
Mam też pytanie odnośnie SpinLock. Jak zrobić aby jeden obiekt spinLock był widoczny dla dwóch procesów? Czy może ustawiać jakąś flage na konkretnym miejscu w pamięci?
  • Odpowiedz
@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