Wpis z mikrobloga

@maisterwihaister: kurła w c++ to wszystko było prostsze.
this-> było w zasadzie opcjonalne, i w sumie w praktyce tego prawie nie używałem.
Tutaj bez "self" nawet funkcji nie zadeklarujesz, ani do żadnej zmiennej sie nie odwołasz, a idź Pan w ciul
  • Odpowiedz
@RedveKoronny: no i teraz, styl obiektowy w C, polega na tym, że funkcje w pierwszym argumencie przyjmują strukturę, którą można nazwać "this".

Ostatecznie zawsze masz adresowalne dane/informacje-obiekty i dane/informacje-wykonywalne, a jeżyk programowania ma za zadanie to jakoś spójnie i przyjaźnie złączyć, aby to współgrało ze sobą :P
  • Odpowiedz
@patrolez: w tym pliku nie ma słowa "this"
widzę tylko keyword "struct" w momencie deklarowania użycia struktury (w sensie tworzenie zmiennej, albo przekazywanie struktury do funkcji).
Dalej wydaje mi się to mniejszy masochizm, biorąc pod uwagę że nie dopisuję "struct" przed każdą zmienną w samym structcie :V
  • Odpowiedz
@RedveKoronny: chodzi mi o nazwę i położenie pierwszego argumentu/zmiennej, a nie o sygnaturę. Zmienisz na "this", to będziesz mieć this - w każdym razie obiektowe "C", to jest właśnie napierdzielanie "self" jako pierwszy argument, lub jako C plus plusowe implicit this.
  • Odpowiedz
via Wykop Mobilny (Android)
  • 2
@RedveKoronny: użytkownikowi @patrolez chodzi o to że w obiektowych językach metody w danej klasie to tak naprawdę funkcje których pierwszym argumentem jest instancja klasy na której są wołane.
Czasami to jest równoznaczne i wspierane przez język, np. przez uniform function call syntax, extension methods to podobny temat.
Generalnie warto by było przy tej okazji poruszyć temat single dispatch i multiple dispatch ale nie chce mi się xD
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@RedveKoronny: btw może dobrym pomysłem byłoby użycie modułu abc zamiast dziedziczenia po Shape skoro definiujesz tylko interfejs? I dataclass żeby nie musieć bawić się w pisanie konstruktorów ;) Widzę też że używasz adnotacji typów ale tylko w jednym miejscu.
  • Odpowiedz