Witam mistrzow C++.

Mam powiedzmy trzy tablice:
string[3] a;
string[3] b;
string [3] c;
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie
Pytanie 1: W jaki sposób w #cpp ustawic limit danej wartosci np ze nie moze przekroczyc 5000
Pytanie 2: W jaki sposób napisac ze np mam ustawiona wartosc 6 od razu zmieni sie na 1 to cos sie stanie
prosze o nakierowanie, z gory dzieki
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

engine exception? xD

@Holinice: A tak serio to potrzebujesz po prostu napisać logikę do swojego programu. Czyli if cośtam zrób cośtam. Nie ma "magicznych" sposobów na kontrolowanie wartości, wszystko się dzieje wprost tak jak zaimplementujesz. ify, dodawania, odejmowanie
  • Odpowiedz
@Noct: no właśnie na zaliczenie przedmiotu robiłem xD
@HalEmmerich: @CppPolska: @sebekpolak51: mireczki przepraszam, że dopiero teraz pisze ale jakoś poradziłem sobie z napotkanymi problemami! mimo wszystko serdecznie dziękuje za chęć udzielenia pomocy, to bardzo miłe z waszej strony - tak trzymajcie ()
  • Odpowiedz
#cpp #programowanie

mam pytanko, może mondre, może gupie, nie wiem

na co dzień robię raczej w C, więc jestem mocno przyzwyczajony do wskaźników, ale w nowoczesnym C++ to wiadomo, raw pointery - zła praktyka - stąd pytanie. Mam klasę i chciałbym w niej trzymać obiekt innej klasy. Jak przechować go w takiej sytuacji? Smart pointer czy referencja, czy coś innego jeszcze?
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak przechować go w takiej sytuacji? Smart pointer czy referencja, czy coś innego jeszcze?


@zwei: Najpierw musisz sobie odpowiedzieć na pytanie "kto jest właścicielem obiektu".

Jeżeli jest to obiekt niepolimorficzny i jesteś właścicielem obiektu - trzymaj przez wartość.
Jeżeli jest to obiekt polimorficzny i jesteś właścicielem
  • Odpowiedz
@zwei: To zależy od czasów życia obiektu, ale skoro zadajesz takie podstawowe pytanie, to standardowo wybieraj pomiędzy shared_ptr i unique_ptr, chyba że piszesz w jakimś frameworku, który ma własne.
Staraj się nie używać zwykłych wskaźników, już lepiej wykorzystać weak_ptr jeżeli musisz.
  • Odpowiedz
Jakie książki albo źródła internetowe polecacie do poznania CMake? Z tego co się zorientowałem to na zrobienie każdej rzeczy są co najmniej 3 różne sposoby a sama dokumentacja nie zawsze wszystko dokładnie objaśnia.
#cpp #cmake
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #cpp

Mam jak rozumiem gzipem tak oto skompresowaną stronę. Dość ciekawe podejście... Jak to ładnie sobie wyciągnąć żeby zobaczyć co tam jest zawarte? W celach analizy, nie działania programu.

const uint8t contenthtml_gz[] = {
0x1F, 0x8B, 0x08, 0x08, 0x60, 0x15, 0x36, 0x5C, 0x00, 0x03, 0x69, 0x6E, 0x64, 0x65,
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

czy jakiś "nagłówek" jest potrzebny?


@defoxe: Nie wiem co rozumiesz przez nagłowek, ale nagłowek albo magic number dla gzipa to jest 1f 8b, czyli dokladnie te same bajty (dwa pierwsze) ktore masz w swoich strumieniu danych
  • Odpowiedz
Podpowiedzialby ktos jak zaimplementowac szablon w klasie Trojkat? Chce miec dwie opcje stworzenie obiektu. Albo poprzez wrzucenie obiektow Punkt, albo poprzez wrzucenie wspolrzednych punktow.

W mainie jest problem z:
Trojkat trojkat3(intPunkt, doublePunkt, stringPunkt);

i jest error: 'Punkt': use of class template requires template argument list.
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

W c++20 nie bedzie już chociażby starych dobrych raw pointerów


@JakTamCoTam: co xd jeśli odnosisz się do pewnego artykułu, o którym myślę, to on był żartem na 1 kwietnia.
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
Cześć mirki, mam dwie liczby (binarne) i muszę porównać je ze sobą, jeżeli po zamienieniu ze sobą dwóch cyfr w jednej liczbie jest równa tej drugiej (jeżeli jedna jest dłuższa to krótszą uzupełniamy zerami z przodu).
Da się to zrobić jakoś inteligentnie, siedzę na tym od godziny i póki co wymyśliłem, żeby if-ami poporównywac po kolei każdy znak (liczbę jako string zrobić).
#cpp #naukaprogramowania
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@NoNameNoIdeaNoLife: rozwiązanie uber wydajne(ale pewnie nie o to chodziło prowadzącemu):

jeżeli zrobimy operację xor na 2 liczbach binarnych(zakładając taką samą długość), to na każdej pozycji, która się różni, otrzymamy 1, a na tych samych otrzymamy 0.

czyli teraz problem sprowadza się do rozwiązania "ile jedynek jest w otrzymanej liczbie". w SSE4 doszła instrukcja assemblera popcnt, która własnie to realizuje. można jej użyć za pomocą rozszerzeń kompilatora(np. __popcnt), za pomocą
  • Odpowiedz
  • 3
@MamCieNaHita niby tak, ale nie do końca XD
Jeżeli w jednej z liczb na tych dwóch pozycjach będą te same cyfry to nie będzie można ich ze sobą zamienić. O ile ta metoda da liczbę różniących się bitów, to w najbardziej interesującym przypadku (2 różne) nadal musimy sprawdzić czy są to dwa różne znaki.
  • Odpowiedz
@JakTamCoTam: No na takim Ubuntu czy innym Debianie to wystarczy apt install libsfml-dev więc trochę słaby argument, a co do vcpkg to jednak nie działa, jak trzeba. Podobno conan jest dobry, ale sam nie testowałem.

Aha jak wejdą moduły w C++20 to dopiero będzie sieczka.
  • Odpowiedz
czy destruktor jest wywoływany przy exit() ? czytam i zazwyczaj piszą że to zależy od systemu operacyjnego czy sprzątnie pamięć czy nie. więc powiem od razu że chodzi o Raspbian na Raspberry Pi

#cpp #programowanie #raspberrypi
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@adfgx: prawdziwy mężczyzna ręcznie zapełnia rejestry procesora strzelając w odpowiednie tranzystory z działka rentgenowskiego
  • Odpowiedz
#linux #programowanie #cpp #informatyka

Pytanie o sterownik dla Linux Debian w zasadzie czysto teoretyczne, bo raczej przekracza to moje obecne umiejętności.
Czy urządzenie podłączone do komputera musi do jego obsługi mieć sterownik? Czy można obsługiwać je czysto z poziomu programu?

Pytanie dość nieprecyzyjne chyba, więc podam przykład.
  • 21
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@defoxe: jest tak, jak się domyślasz. System ma różne podsystemy które są bardzo ogólne(nie dotyczą sprzętu bezpośrednio - w sensie adresów i rejestrów) i to zapewnia warstwę abstrakcji sprzętowej to słynne Hardware Abstraction Layer(HAL) sam sterownik odpowiada za to żeby gadać ze sprzętem i systemem w zrozumiały dla nich sposób.

Typów i klas sprzętu jest bardzo bardzo dużo - zoba ile katalogów w linuksowych źródłach, a w tych katalogach kolejne katalogi ze sterownikami.
  • Odpowiedz
c++ to trochę taki przykład typowego legacy softu w korpo.
Od dawna powinno to być napisane od zera ale jest już tego za duzo. Nikt juz nie orientuje sie w kodzie bo przeszło przez niego kilka pokoleń pracowników.
Czasami trzeba dodać nową funkcjonalność więc każdy dopycha swoją odrębną wizję do tego projektu.

#cpp #programowanie #heheszki
PoteznyMagWody - c++ to trochę taki przykład typowego legacy softu w korpo. 
Od dawn...

źródło: comment_0uC2K08FP9d4pdhilxHBEqPY1d81WzFc.gif

Pobierz
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@PoteznyMagWody: c++ to dobry język do sprawdzenia pokory. Pytasz się kandydata: na ile oceniasz się w zaznajomieniu z c++? I jak Ci powie, że bardzo dobrze, albo 8/10 to wiesz, że gada głupoty, bo nawet sam Stroustrup twórca języka i twórca Biblii do c++ twierdzi, że jedynie umie go "dobrze".
  • Odpowiedz