G.....4
G.....4
Mam stosunkowo mały program. Dwie klasy - jedna po drugiej dziedziczy.
Chciałbym mieć ok 20 parametrów które mogą ulec zmianie, konfigurowalnych w jednym miejscu w kodzie.
Tak, żeby dostęp był do nich w różnych plikach / klasach.
Jest jakiś lepszy sposób niż macro w pliku z mainem (#define kazdyParametr wartosc)? Jaki (cpp98)?

#cpp #naukaprogramowania
0
  • Najlepsze
  • Wszystkie komentarze
dupasmoka
@Garg84: 1) plik config.h z definami, lub lepiej, z constami.
2) Klasa z domyslnymi polami i globalna instancja tej klasy, badz przekazywanie instancji jako parametr
3) Sigleton
4) Builder pattern

Wszystko zalezy od tego co chcesz osiagnac. Czy wszystkie parametry sa znane podczas kompilacji czy tez nie. Czy raz skonfigurowane nie bedzie sie zmieniac czy tez nie.
0
lionbest
@Garg84: Tak jest constexpr najlepiej w namespace albo w scopie klasy.
Jeżeli będziesz chciał je przenieść jako zewnętrzne pliki konfiguracyjne to pozostaje ci Singleton.
0
Metoksyfenidyna9
Jaka jest różnica dla konstruktora klasy w C++ czy przekaże mu dane przez referencję czy przez wartość?
Czy działanie destruktora opisuję tylko gdy stricte zwracam się w konstruktorze o przydzielenie pamięci chociażby przez new?
#naukaprogramowania #cpp #glupiepytaniametoksyfenidyny
1
  • Najlepsze
  • Wszystkie komentarze
inplaz
Jaka jest różnica dla konstruktora klasy w C++ czy przekaże mu dane przez referencję czy przez wartość?


@Metoksyfenidyna9: taka sama jak w każdej innej funkcji lub metodzie ¯\_(ツ)_/¯

Czy działanie destruktora opisuję tylko gdy stricte zwracam się w konstruktorze o przydzielenie pamięci chociażby przez new?


@Metoksyfenidyna9: w destruktorze klasa powinna zwolnić zasoby które wcześniej pozyskała, czyli np.: zaalokowaną pamięć, otworzone pliki, zablokowane mutexy itd. To oczywiście kwestia konwencji,
2
G.....4
G.....4
Coś byście zmienili?
Mam wykorzystać w klasie pochodnej operacje zdefiniowane w klasie bazowej.
Zastanawiam się, czy robić jakieś metody wirtualne w bazowej.

https://pastebin.com/HyEpNvKt

#cpp #naukaprogramowania
0
  • Najlepsze
  • Wszystkie komentarze
that_ugly_dude
@Garg84:
- klasa bazowa powinna mieć destruktor wirtualny (odsyłam do lektury, z grubsza: wskaźnik na bazową może przechowywać obiekt dziedziczący, bez wirtualnego dtora nie zawołasz dtora klasy dziedziczącej)
- czy implementacja operatorów różni się pomiędzy Date a TimeStamp? jeżeli nie, to nie musisz ponownie ich definiować
- double dla minut to niespecjalnie dokładny typ
0
G.....4
G.....4
- klasa bazowa powinna mieć destruktor wirtualny (odsyłam do lektury, z grubsza: wskaźnik na bazową może przechowywać obiekt dziedziczący, bez wirtualnego dtora nie zawołasz dtora klasy dziedziczącej)

Dzięki, zapomniałem

- czy implementacja operatorów różni się pomiędzy Date a TimeStamp? jeżeli nie, to nie musisz ponownie ich definiować

Chyba będzie się różniła. Zastanawiam się czy liczyć że data jest różna tylko gry różnica > minuty*60*24

-
0
Metoksyfenidyna9
Czy używanie modyfikatora static do "ukrycia" (zmiany łączenia z zewnętrznego na zewnętrzne) może prowadzić do wycieków pamięci?

Czym mogę podglądnąć "na żywo" zmiany zachodzące w pamięci? Przy inicjalizacji itp zmiennych, takie podstawy.
#naukaprogramowania #cpp #glupiepytaniametoksyfenidyny
0
  • Najlepsze
  • Wszystkie komentarze
sorhu
@Metoksyfenidyna9:
Pokaż kod.
0
zwei
@sorhu: no jak ma pokazać, jak on chce ukryć
0
TMBRK
Siemano, czy jest może jakieś narzędzie, które tak jak strace w #linux pokaże mi wywołanie funkcji w #cpp?
#cpp #naukaprogramowania
0
  • Najlepsze
  • Wszystkie komentarze
C.....a
Pod macOS jest dtruss
0
gentooman
gentooman
@TMBRK: Debugger. Przykładowo GDB. Ale jak nie masz symboli to za dużo się nie dowiesz.
0
defoxe
#qt #programowanie #cpp #debian

Qt Creator, co tu się dzieje?! Wszystko na czerwono. Projekt bez błędów, coś z Qt jest nie tak.
0
  • Najlepsze
  • Wszystkie komentarze
C.....a
Dzień dobry na Mirkowni! ( ͡° ͜ʖ ͡°)

Mamy dziś dla Was nowy wpis! Dziś Bartłomiej Filipek kontynuuje swoją serię o std::optional, poruszając tematy związane z obsługą błędów
4
bogobojny_trans
bogobojny_trans
Wiadomo, jak mam spac to przypomnial mi sie taki problem kolegi.

Klasa IAaa, interfejsu, wszystko w nagłówku, destruktor virtual IAaa = default.
W publicznych zmiennych m.in dwa unikalne wskaźniki aptr,bptr.

Klasa B : public Iaaa, w konstruktorze mial aptr=nullptr.
1
  • Najlepsze
  • Wszystkie komentarze
Metoksyfenidyna9
Czym różni się specjalizacja od konkretyzacji?

#naukaprogramowania #cpp #glupiepytaniametoksyfenidyny
0
  • Najlepsze
  • Wszystkie komentarze
Metoksyfenidyna9
1. Jaka jest różnica pomiędzy przekazaniem do funkcji przez stałą referencję (const double * lol), a przez wartość? W przypadku stałej referencji w razie niezgodności typu tworzona jest l-wartość, a w drugim przypadku jest błąd?
2. Kiedy używać strukturę, a kiedy klasę?

#naukaprogramowania #cpp #glupiepytaniametoksyfenidyny
1
  • Najlepsze
  • Wszystkie komentarze
h00k
Kiedyś coś pisałem sobie w #cpp i teraz postanowiłem sobie do niego wrócić, zacząłem robić sobie proste zadanie z /r/dailyprogrammer na reddit i coś się dziwnnego stało mam taki kawałek kodu (dla czytelności pominę std::):

bool checkChars(string _string){
int counterX, counterY;

// JAKIS KOD
1
  • Najlepsze
  • Wszystkie komentarze
janek_kos
Treść przeznaczona dla osób powyżej 18 roku życia...
0
  • Najlepsze
  • Wszystkie komentarze
Kashi66
Jak kompilowac i debugowac c/cpp w vs code z uzyciem kompilatora z visual studio 17?

#jezykc #cpp #programowanie
1
  • Najlepsze
  • Wszystkie komentarze
Metoksyfenidyna9
Programując w c++ kiedy używać operatora new? A dokładniej kiedy korzystać z pamięci stosu (stack), a kiedy sterty(heap)?
#naukaprogramowania #cpp #glupiepytaniametoksyfenidyny #jezykc
1
  • Najlepsze
  • Wszystkie komentarze
PiotrasSNK
Mirki, mam pytanko, macie może pomysł co może być powodem crashowania się gry napisanej w #sfml, w Visual Studio 2017 na Windowsie 10 podczas uruchamiania jej na Windows 7? Brak dokładnego błędu po prostu zwiecha po pewnym czasie od odpalenia exe z folderu Release i przejściu kilku tur.
#cpp #programowanie
EDIT: Na Windows 10 działa bez problemu.
1
  • Najlepsze
  • Wszystkie komentarze
LordLukin
Mirki i Mirabelki z #wroclaw, którzy interesują się #cpp, ze szczególnym uwzględnieniem #cpp11, #cpp14 i #cpp17 - będę prowadził mini kurs C++ ze złożoności obliczeniowej i biblioteki STL. Jeśli chcecie poszerzyć waszą znajomość C++, bo np. chcielibyście pracować jako programiści C++ to gorąco zachęcam. Tylko 3 lekcje po 5 godzin + prace domowe i projekt (opcjonalnie). Nielimitowane konsultacje online.
2
  • Najlepsze
  • Wszystkie komentarze
Metoksyfenidyna9
Na prędkości jaka jest różnica w #cpp pomiędzy 2, a 2L?
Rozumiem, że 2 jest przechowywana w typie int, a 2L to long. Ale gdzie dokładnie taki zapis jest wykorzystywany? Te zapisy są równoważne?

long int lol = 2;
int lol = 2L;

#naukaprogramowania #cpp #glupiepytaniametoksyfenidyny #jezykc
0
  • Najlepsze
  • Wszystkie komentarze
C.....a
Siema wszystkim mirkującym tutaj! ( ͡° ͜ʖ ͡°) Wojtek Razik przygotował dla Was nowe #cppnews-y (⌐ ͡■ ͜ʖ ͡■)

cpp-polska.pl/post/cppnews-53-1401-20012019 (。◕‿‿◕。)



Miłego czytaaaaaania! ʕ•ᴥ•ʔ
4
jedzbudynie
tak sie zastanawiam co musi umiec dobry "Inżynier Oprogramowania"

w.g mnie must be:
-TCP/IP
-Linux przynajmniej zaawansowany
-Język w którym programujesz przynajmniej zaawansowany, wraz z frameworkami które są teraz popularne
4
  • Najlepsze
  • Wszystkie komentarze