s_theCapt
s_theCapt
dzielę sobie moją programistyczną sieczkę na biblioteki żeby mi było łatwiej używać i żeby się nie przejmować zależnościami więc wymyśliłem sobie taki system który podpatrzyłem na jednym wykładzie z Visual C++ gdzieśtam, kiedyśtam i mi się spodobał. No i chyba coś źle robię, bo wyskakuje mi, że mój enum "was not declared in this scope" mimo, że podświetlanie go widzi. Jak na obrazku, od napisu START wskazuję, że dostęp do definicji enuma
0
  • Najlepsze
  • Wszystkie komentarze
MamCieNaHita
@s_theCapt: nie widzę na pierwszy rzut oka co jest źle, ale dobrą praktyką jest właśnie includowanie bezpośrednio i nie poleganiu na tym, że inny header coś includuje.
ifndefy/pragma once cię bronią przed redeklaracją, a header/source jest wtedy samokompilowalny. załóżmy, że gdzieś na wysokim poziomie były używany vector w headerze i korzystało z niego 400 plików. zmieniamy implementację na listę, ruszamy tylko swoją działkę w kodzie, a wywala się 400 plików,
2
MamCieNaHita
@s_theCapt: nie musisz przepisywać tego samego jako string w makrze, znak # przed argumentem "stringifuje" go
1
L.....9
L.....9
https://pastebin.pl/view/586ee742
Jaka jest różnica między tymi konstruktorami, jak lepiej pisać?
Zakładając, że to plik hpp, jak zdefiniować te funkcje w cpp?
#cpp #naukaprogramowania #programowanie
0
  • Najlepsze
  • Wszystkie komentarze
t.....l
t.....l
@Leto9: w tym przypadku, to chyba opcja 2 bedzie lepsza. 1 mógłbyś użyć na przykład, jeśli konstuktor byłby dwuargumentowy i drugi argument byłby typu K, wtedy dajesz Foo(T, K), bo T to masz z deklaracji template (przynajmniej ja to tak rozumiem)
0
lionbest
@tomash-pl: Nie.... chyba że to jest specjalizacja tego konstruktora, inaczej po Foo niema prawa być '<>'.
0
VanQator
#cpp

Stworzyłem swój pierwszy "troszeczkę bardziej" rozbudowany programik obiektowy służący do walidacji danych nowego klienta banku. Generalnie nie chodzi o samą walidację, bo kilku mechanizmów brakuje, np. jak się poda hasło ze spacją, to akceptuje. Chodzi mi raczej o nakierowanie, czy sama struktura programu obiektowego jest poprawna. Co zmienić, dobre praktyki itp... jakiś wzorzec może byłoby lepiej tu zastosować, a może nie...

https://github.com/VanQator/bankAccount
0
  • Najlepsze
  • Wszystkie komentarze
Saly
@VanQator:

for (int i = 0; i < name.length(); i++)
{
if (name.length() == 0)

Ten kawałek kodu to oksymoron. Gdy name.length() == 0 to nigdy nie wejdziemy do pętli
4
Saly
@VanQator: największy problem jaki widzę to mocne połączenie pomiędzy operacjami IO a twoimi klasami. To dość częsty błąd wśród początkujących. Jak chcesz mieć to ładnie to klasy odpowiedzialne za trzymanie poprawnej wartości, czyli wszystkie ValidCośTam powinny rzucać wyjątek, albo używać jakiegoś innego mechanizmu raportowania błędów. Tam gdzie jest logika nie powinno być IO, bo czegoś takiego nie da się testować i reużywać.
Inne sprawy:
- w cpp jest raczej konwencja,
2
dexorik
Jestem głupim psem, gdzie w codeblocks można sprawdzić wartość zmiennej w programie który chodzi ? Bo nie wiem czemu mi wypluwa zawsze 16 xD w #csharp w tym IDE chyba Visual Studio 2017 można było to normalnie sprawdzić i dojść co jest nie tak.
#cpp
0
  • Najlepsze
  • Wszystkie komentarze
L.....9
L.....9
@dexorik:
To zainstaluj Visual Studio, po co się męczyć z codeblocksem?
7
n.....e
n.....e
Treść przeznaczona dla osób powyżej 18 roku życia...
6
VanQator
#cpp
Czy w momencie gdy destruktor nic nie robi, to warto wgl zapisywać jego definicję w klasie? Chodzi o dobre praktyki w kodzie produkcyjnym.
0
  • Najlepsze
  • Wszystkie komentarze
D.....i
D.....i
@VanQator: Najlepiej wtedy oznaczyć destruktor jako domyślny.

~ class_name() = default;
2
a231
@VanQator: przy dziedziczeniu czasem przydaje się wirtualny destruktor który nic nie robi
0
VanQator
#cpp
Bardziej opłaca się przekazywać obiekty przez wskaźniki czy przez referencje?
Rozumiem, że główny problem polega na tym, że jak przekazujemy przez wskaźnik, to trzeba pamiętać o zwalnianiu pamięci?
0
  • Najlepsze
  • Wszystkie komentarze
VanQator
#cpp czy dobrze rozumiem, że funkcja ClientCode domyślnie przyjmująca argumen typu Target może przyjmować argumentu typu Adapter, bo klasa Adapter dziedziczy po klasie Target?

https://paste.ofcode.org/g3Gsd6xqiEGRxUZ92A9J63
0
  • Najlepsze
  • Wszystkie komentarze
VanQator
#cpp
Po co jest konstruktor kopiujący w singletonie?
https://paste.ofcode.org/3a2nHnRNd2JcZiunQH8hC4t
0
  • Najlepsze
  • Wszystkie komentarze
VanQator
#cpp
Trochę nie kumam idei wzorców projektowych. Dzisiaj ogarnąłem pierwszy: State, i przyszło mi to... no powiedzmy, że o garnąłem i umiem zrozumieć i zaimplementować własny State. Ale gdy przysiadłem do obserwatora to jest dla mnie kosmos. Na serio te powiązanie między klasami to dla mnie p------a abstrakcja.

Czy ja się dobrze uczę wzorców? Czy kiedy ktoś zapyta mnie czy znam obserwatora, a ja mu powiem, rozumiem konecepcję i schemat
0
  • Najlepsze
  • Wszystkie komentarze
VanQator
#cpp

Czy to jest prawidłowo zaimplementowany wzorzec projektowy state?
https://paste.ofcode.org/37uC7aUXYS2DvkazdjCDuSK
1
  • Najlepsze
  • Wszystkie komentarze
R.....y
R.....y
właśnie skończyłem kurs learncpp, moge powiedzieć z czystym sumieniem że rozumiem podstawy c++?
#programowanie #naukaprogramowania #cpp
0
  • Najlepsze
  • Wszystkie komentarze
botereq
Jaki kurs do C++ polecacie, który jest najbardziej na czasie z C++17 chodzi mi o podstawy żebym sobie mógł rozwiązywać zadania z algorytmów Cormena :)

#cpp #programowanie #programista15k
0
  • Najlepsze
  • Wszystkie komentarze
c137
c137
Piszę appke w #cpp gdzie zależy mi na dość szybkim czasie reakcji. Czy jest możliwość załadowania modelu z wagami (plik kerasa z wagami h5 i architektura modelu w jsonie) i predykcję bezpośrednio w cpp? Zrobiłbym to w #python ale dochodzi jeszcze image processing, a wiadomo jak wolny jest python w stosunku do cpp. Znalazłem coś takiego https://github.com/Dobiasd/frugally-deep ale to tylko Python3, ja niestety pracuję z frameworkiem dla Plython2.
0
  • Najlepsze
  • Wszystkie komentarze
VanQator
#cpp
https://paste.ofcode.org/zKxZTkt6qQQ8HqPnewg3Q4
Dlaczego taki licznik obiektów ciągle wskazuje 0? Podkreśliłem ////// implementacje.
0
  • Najlepsze
  • Wszystkie komentarze
VanQator
#cpp #programowanie
https://paste.ofcode.org/sBiRhP8iUeSQx2STwzJdk2

Ktoś coś, jakiś pomysł, dlaczego dodatnie operatora konwersji powoduje niedziałanie pozostałych operatorów?
Pozaznaczałem /////////////////// w kodzie.
0
  • Najlepsze
  • Wszystkie komentarze
VanQator
#cpp
Czy błąd i wyjątek to to samo?
1
  • Najlepsze
  • Wszystkie komentarze
m.....y
m.....y
#programowanie #cpp #mac #macos #pytaniedoeksperta
Co polecacie do programowania w C++ na mac os, żeby było darmowe i od razu działało.
1
  • Najlepsze
  • Wszystkie komentarze
R.....y
R.....y
https://pastebin.com/CVxDq8JU
nie gryźcie pls, chciałem spróbować zaimplementować polimorfizm, ale juz nawet konstruktor nie działa (i nie mam jak sprawdzic co później sie chędoży), nie mam pojęcia gdzie może być błąd. pomoże jakaś dobra dusza?
#naukaprogramowania #cpp #pytanie
0
  • Najlepsze
  • Wszystkie komentarze
s_theCapt
s_theCapt
mam sobie funkcję która zapisuje do pliku co robi program, tak że jak później coś nie tak już po produkcji i coś się wysypie to wiem gdzie (oczywiście tylko w miejscach gdzie wiem, że może się tak stać). Używam _FILE i LINE jako argumentów żeby nie musieć się za bardzo rozpisywać sam dla siebie. No i czy jest możliwość żeby ta funkcja nie przyjmowała jako argumentów odpowiednio string i int, a
0
  • Najlepsze
  • Wszystkie komentarze
Demon_Maxwella
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
0
  • Najlepsze
  • Wszystkie komentarze