#cpp:

Mireczki, jest możliwość konwersji tego oto kodu tak, by w Visual Studio 2013 się poprawnie kompilował? Aktualnie wywala błędy przy asm i volatile, a przy zamianie na __asm - problem przy jakimś nawiasie, albo coś.


void getPSN(char
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@psi-nos: ile ma n_elementow? nie przekraczasz jakichś rozmiarów dopuszczalnych do programu? w tych dwóch liniach ciężko o błąd...

Może źle zwalniasz pamięć? delete bez [ ] ?
  • Odpowiedz
#programowanie #cpp #mfc

Mam taki problemik, głowię się jak sprytnie zaimplementować listę ustawień, taką jak w uTorrent (advanced settings).

Tylko teraz jest problem bo mam trzy różne typy danych string, int, bool. Ale chciałbym to zrobić jak najbardziej zwięźle, czyli nie robić osobnych case dla każdego ustawienia i przepisywać ten sam kod wszędzie.

Myślałem,
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@kasper93: Mocno mieszasz tutaj poziomy abstrakcji, mówisz o liście ustawień (całym jakby komponencie), a zaraz o case, wskaźnikach itd. i robieniu "na piechotę". czy przez robienie na piechotę masz na myśli kopiowanie kodu 100x? Przecież można zrobić na piechotę (także z case) a dobrze.

Zrobiłbym po prostu kontener "czegoś co można ustawiać" z poszczególnymi "opcjami" konkretnego typu, oprogramować to uniwersalnie, dzięki czemu stworzenie takich ustawień ostatecznie powinno wyglądać na coś w stylu:
  • Odpowiedz
Cześć! Mam za zadanie znaleźć takie liczby A,B,C typu double dla których nie zachodzi prawo łączności (A+B)+C = A+(B+C). Wiem że dla liczb zmiennoprzecinkowych nie zawsze ono zachodzi (ograniczenia arytmetyki zmiennoprzecinkowej), jednak w programie podając nawet szalone liczby typu 25.0e+30, 0.03e-40, -1e-30 wszystko liczy idealnie :/

Piszę w C++ i jakoś za cholerę nie mogę znaleźć takich liczb żeby zaszło jakieś zaokrąglenie, etc.

Co na to poradzić?

#programowanie #problem
  • 30
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Okej mirki, szukam małej porady.

Ktoś jest doświadczony z pracą przy urządzonkach firmy MOXA? Dokładnie chodzi mi o Moxa E1214. Mam zrobić do niej moduł (na linuxa), aczkolwiek ciężko mi się za to nawet zabrać. Problemu tutaj rozpisywał nie będę, bo za długo by wyszło. Dlatego fajnie by było jakbym do kogoś mógł się z tym zgłosić na PW.

#cpp #python #moxa #programowanie
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Co będzie lepsze (chociaż wolałbym prostsze) od wektorów? Muszę jakoś trzymać wszystkie obiekty klas w kupie, mam iteratory i dużo fajnych narzędzi do działania na nich, ale łatwo tutaj o wycieki pamięci.

I zastanawiam się czy dobrze (i zgodnie z pryncypiami OO) robię, jeśli mój kod działa na zasadzie - klasa bazowa ze zmiennymi ją opisującymi i podstawowymi getterami i setterami i dziedzicząca od niej klasa zarządzająca, w której znajduje się wektor obiektów
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Drzwi: Tak ogólnie rzecz biorąc, to wektor jest zdecydowanie najprostszym możliwym kontenerem właśnie dlatego, że symuluje zwykłe tablice. Czyli nie musisz korzystać w ogóle z iteratorów, wystarczy operator wyłuskania []. No, może przydają się do algorytmów standardowych, ale to jest trywialne. Przykład sortowania:

sort(v.begin(), v.end());
Natomiast jeśli chodzi o Twoje zadanie, to ja tam szczerze powiedziawszy nie widzę miejsca na dziedziczenie. Ta BaseMenager wygląda mi na coś w rodzaju adaptera, ale tylko
  • Odpowiedz
Może i głupie ale czy da się w C++ zapełnić np z insertem vectora (bo normalnie np przez push_back nie ma problemu) wątkami ?

A i jeszcze. Jak to jest w przypadku wątków i . Trzeba ją inicjować każdym wątku czy można globalnie?

#cpp #programowanie
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@sylwke3100: Z załoƶenia nie moƶna powiedzieć, co się stanie z aplikacją po wystąpieniu UB, co w przypadku generatora (pseudo) losowości moƶna uznać za poƶądane :P
  • Odpowiedz
#cpp #programowanie

Prosty program obliczający średnią arytmetyczną z podanych kolejno liczb. Problem polega na tym, że nie znamy ilości tych liczb, a użytkownik będzie je podawał do momentu w którym poda inne znaki niż liczby (pomijając minus oczywiście). Jak więc można rozpoznać kiedy podana informacja jest liczbą do policzenia, a kiedy komunikatem przerywającym to wczytywanie? Zastanawiam się nad tym i nie mam lepszego pomysłu.
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #cpp

K---a szlag mnie trafi. Zaczynasz pisać projekt, główna funkcjonalność zaczęła działać, więc piszesz resztę. Piszesz, piszesz nowe klasy, moduły, i tak sobie piszesz, główna funkcjonalność jest całkowicie autonomiczna więc nawet jej nie tykasz, no i tak piszesz. W pewnym momencie testujesz program i główna funkcjonalność nie działa. XDDD Idę skoczyć z dachu samochodu bo to nie ma sensu...
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@bartoneczek: czyli tak na prawdę nigdy nie zaczęła działać. Warto pokrywać testami jednostkowymi właśnie najbardziej spodziewane scenariusze użycia, żeby zyskać na pewności. (najmniej spodziewane oczywiście też warto sprawdzić).
  • Odpowiedz
@asdasty: testuje najlepszym debuggerem na świecie:

cout << "WEJDZIESZ TU K---O CZY NIE" << endl;


Mój problem polegał na tym że moja aplikacja magicznie przestała nasłuchiwać na porcie. Okazało się ze któregoś wieczora kiedy na śpiącego coś tam pisałem, musiałem p---------ć klasy i podmieniłem strukturę adresową w bindzie mojego socketu, zamiast w jakimś innym...
  • Odpowiedz
@kuhar: Nie. :) KrzaQ2 podał niewątpliwie lepsze rozwiązanie, bo kontenery są bezproblemowe, w przeciwieństwie to ręcznej alokacji pamięci. Ale zadałeś pytanie w taki sposób, że myślałem, że się na nią uparłeś (bo na przykład prowadzący Ci kazał). Jeżeli tylko możesz, to jasne że powinieneś użyć wektora.
  • Odpowiedz
#cpp #programowanie

Dobra załóżmy, że mam wektor intów i chce go posortować, jak to zrobić ładnie? Ale żeby zera były na końcu?

Niby mogę zrobić sort i później jakoś wyłuskać te zera i przerzucić na koniec, ale nie wydaje mi się to optymalne ;/ A operatora porwania nie da rady napisać, żeby sorta oszukać...
  • 29
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak u was w robocie patrzy się na const-correctness, tzn metody, parametery (łącznie z lekkimi typami), zmienne lokalne? Tak mi się przypomniało, że jak Larman u nas kiedyś był to mówił, że strata czasu, no ale on różne rzeczy mówił :)

#programowanie #cpp
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@kasper93: Inkludujesz "publicznie" te nagłówki, które zawierają funkcje, których używasz. Nie obchodzi Cię, że jakiś inny nagłówek też go inkluduje, bo osoba czytająca kod po Tobie może tego nie wiedzieć (albo mogą się zmienić zależności danej biblioteki).
  • Odpowiedz