Zamiana zmiennej globalnej na wskaźnik

Zamiana zmiennej globalnej na wskaźnik
HU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Cześć, czy móglbym liczyć na waszą pomoc, jak w zamieszczonym poniżej kodzie, mogę zmienić zmienną globalną extern Game* game na wskaźniki? Siedzę nad tym od dłuższego czasu i nie mam pojęcia jak a czuje że nie jest to strasznie skomplikowane - zmęczenie materiału :( Z góry dziękuję za pomoc, dodam tylko że projekt realizowany jest w Qt.

GitHub

AK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3561
2
huradoze napisał(a):

Cześć, czy móglbym liczyć na waszą pomoc, jak w zamieszczonym poniżej kodzie, mogę zmienić zmienną globalną extern Game* game na wskaźniki?

extern Game *

to JEST WSKAŹNIK

HU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0
AnyKtokolwiek napisał(a):
huradoze napisał(a):

Cześć, czy móglbym liczyć na waszą pomoc, jak w zamieszczonym poniżej kodzie, mogę zmienić zmienną globalną extern Game* game na wskaźniki?

extern Game *

to JEST WSKAŹNIK

tak, wiem, moj blad. chcialbym pozbyc sie po prostu tej zmiennej globalnej

AK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3561
1
huradoze napisał(a):
AnyKtokolwiek napisał(a):

extern Game *

to JEST WSKAŹNIK

tak, wiem, moj blad. chcialbym pozbyc sie po prostu tej zmiennej globalnej

A to obiekt Qt, czy tradycyjny ? To potencjalnie skutkuje innymi strategiami zwalniania
Pewnie trzeba go propagować przez argumenty konstruktorów / wywołań metod

Na rozgrzewkę przyczepie się nazwy klasy.
Co to naprawde jest Game ?
Chwilowy stan gry jednego usera ? Stan gry jądra gry zespołowej ? A może tylko konfiguracja niemal wyłącznie R/O ?

Powiedzenie "Game" w grze ... to nie powiedzieć nic.
Po jasnym nazwaniu klasy (czyli co) w umyśle pojawią się jaśniejsze perspektywy jak

BG
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 293
2

Przetłumaczę ze studenckiego na ludzki... Prowadzący zobaczył zmienną globalną i kazał zrobić taki refaktoring kodu, żeby jej nie było ;)

RE
  • Rejestracja: dni
  • Ostatnio: dni
0

nie mam czasu tego analizować bo coś tam mi ten kod pachnie.
Odp. jest prosta

  1. Przyjąć w konstruktorze
  2. Przyjąć w wywołaniu metody

Odpaliłem na tym kodzie
cppcheck * --enable=all

są jakieś problemy. Poczytaj o cppcheck(nie puszczałem clang-tidy bo tam jest pro nie cmake).

  1. Zrębki o refactoringu https://refactoring.guru/pl/refactoring
  2. kup sobie na przyszłość https://helion.pl/ksiazki/refaktoryzacja-ulepszanie-struktury-istniejacego-kodu-wydanie-ii-martin-fowler,refak2.htm#format/d

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.