znaczacy > comp.lang.* > comp.lang.c

szykcech (24.02.2019, 17:40)
Cze!
Jak podaje:

moduly zostaly dodane do C++20 w czasie obrad Komiternu na Hawaii-ach!!!

I jak Broneq?!? Jestes hapinejszyn?!?

pozdro
Szyk Cech
Borneq (25.02.2019, 19:46)
W dniu 24.02.2019 o 16:40, szykcech pisze:
> Cze!
> Jak podaje:
>
> moduly zostaly dodane do C++20 w czasie obrad Komiternu na Hawaii-ach!!!


Moduly sa najwazniejsze, przydaly by sie jeszcze metaklasy, jeszcze nie
czytalem, co z nimi?
szykcech (25.02.2019, 22:51)
A czym ma sie róznic "metaklasa" od klasy szablonowej?!?
Borneq (26.02.2019, 00:09)
W dniu 25.02.2019 o 21:51, szykcech pisze:> A czym ma sie
róznic "metaklasa" od klasy szablonowej?!?
> Ja rozumiem ze to poziom wyzszy niz klasa, tak jak klasa ma obiekty,

tak metaklasa miala by klasy. Ma cos wspólnego z mechanizmem refleksji.
Bede musial doczytac jakie cechy maja miec klasy C++.
W kazdym razie, w takim Qt jest bardzo skomplikowany mechanizm zdarzen -
sygnalów i slotów, to znaczy nie uzycie, ale implementacja w calym
katalogu Core, w dodatku potrzebny okazal sie kompilator MOC. Gdyby byly
metaklasy, to sygnaly byly by robione na poziomie samego jezyka.
AK (26.02.2019, 22:37)
On 2019-02-25 23:09, Borneq wrote:
> W dniu 25.02.2019 o 21:51, szykcech pisze:> A czym ma sie
> > róznic "metaklasa" od klasy szablonowej?!?

> Ja rozumiem ze to poziom wyzszy niz klasa, tak jak klasa ma obiekty,
> tak metaklasa miala by klasy. Ma cos wspólnego z mechanizmem refleksji.


Nie.
Np. Java (i .NET) ma reflesje, ale metaklas ani sladu.
Reflekcja pozwala na dynamiczne "odpytanie" klasy/interfejsu
o jego skladnikach (np. pola, metody, properties) i/lub dynamiczne
("by name") ich uzycie/wywolanie.

Metaklasa to po prostu klasa ktorej instancja sa klasy/typy.
Cos w rodzaju factory, ale dla klas.
Pozwala wiec dynamicznie (on runtime) tworzyc typy.
Aby mogly istniec mechanizm metaklas, klasa musi byc rodzajem
"bytu" czy obiektem.

PS: Oczywiscie refleksja bardzo moze pomoc w zaimplementowaniu
mechanizmu metaklas, ale sama w sobie nie daje tej mozliwosci.
Musi to wspomagac sam jezyk,a na to w C++ nie zanosi sie.

AK
Wojciech Mula (27.02.2019, 15:35)
On Monday, February 25, 2019 at 6:46:12 PM UTC+1, Borneq wrote:
> W dniu 24.02.2019 o 16:40, szykcech pisze:
> Moduly sa najwazniejsze, przydaly by sie jeszczemetaklasy, jeszcze nie
> czytalem, co z nimi?


C++ wprowadzi metaklasy, refleksje, pattern matching i sto
innych wyrafinowanych mechanizmów, tylko po zeby bylo jeszcze
trudniej debuggowac segfaulty. :)

Bedzie za to mnóstwo ciekawych tematów na konferencje. Np. jak
za pomoca pieciokrotnie zagniezdzonych templejtów wariadycznych
rozwiazac problem, który mozna wyrazic jedna petla for. Nie moge
sie juz doczekac!

w.
Podobne w±tki