Dlaczego nie ma standardowego systemu properties ?

0

Dlaczego "properties" nie jest standardowym elementem języka c++ ?

Z jakimi projektantami na github się zapoznać aby zobaczyć jak można to zaimplementować w c++ ?

Wstępne rozpoznanie tematu:
Qt Property System tylko to by znaczyło węzeł małżeński z Qt (które i tak używam do GUI)
cpp-properties wymaga C++20 :(

1
Adamek Adam napisał(a):

Wstępne rozpoznanie tematu:
Qt Property System tylko to by znaczyło węzeł małżeński z Qt (które i tak używam do GUI)

Możesz na to nałożyć odpowiednią abstrakcję i już. Dependency Inversion.

1

Dopóki reflexpr albo coś podobnego nie wejdzie do języka, nie ma szans na standardową implementację czegoś takiego. Przynajmniej wedle mojej wiedzy. Chociaż możesz zobaczyć jak to robi CopperSpice, fork Qt4, który rzekomo nie używa żadnego MOC-a.

https://www.copperspice.com/docs/cs_api/properties-c.html

edit: przy czym, jeśli korzystasz z Qt, to ja bym po prostu użył Qt. Sam używam Qt w projektach bez GUI, dla wielu rzeczy, które dostaję "za darmo" i uważam to za dobry wybór.

3
kq napisał(a):

Dopóki reflexpr albo coś podobnego nie wejdzie do języka, nie ma szans na standardową implementację czegoś takiego. Przynajmniej wedle mojej wiedzy.

Metaklasy miały być najpierw w C++20, potem C++23 teraz są publikacje mówiące o C++26.

2

Dlaczego "properties" nie jest standardowym elementem języka c++ ?

No przeca są. Struktura z publicznymi polami to prosta wersja propertiesów. Pierwsze inkarnacje javy czy C# nie miały nawet tego.

struct type
{
   int myProperty;

   void method();
};

1 użytkowników online, w tym zalogowanych: 0, gości: 1