Portál AbcLinuxu, 1. května 2025 04:55
Tak je to takove horsi D a s mensim vykonem. Kazdopadnej zajimavej projekt.
zato U++ je orientované na programátorov C++ ktorí chcú niečo naviacNevim o tom, že by U++ poskytovalo něco navíc. IMHO všechno, co v U++ prezentují jako velkou revoluci, je v C++ bežná praxe (RAII, apod.).
Nemám Arch, ale toto nefunguje? TheIde je Idečko a upp je framework, je tam verzia aj bez GTK.Aha, dík, nenapadlo mě hledat
upp
...
Mrkni na príklady, vyber si niektorý z nich hoď do vyhľadávača QT názov aplikácie, alebo GTK názov aplikácie a porovnaj si kód.Já na ty příklady koukal onehdá. Jako není to špatný, vypadá to relativně dobře (když jim odpustim to naprosto haluzný použití operátorů), ale není tam nic, co by mě fakt nějak zaujalo - to "Radical and innovative" tam úplně nevidim
Pohľad autorov, stojí za prečítanie.Jo, to jsem čet. Vlastní kontejnery nemám rád ani u Qt ani u víceméně jakýhokoli jinýho projektu, zas někdo znovuvynalézá kolo. "Všechno někam patří" - tím mají na mysli, že všechno se narve na stack. "Kód vlastní widgety" - ditto. Ta callback syntaxe se mi nelíbí hlavně pro to, že z toho kódu vůbec není jasné, jaká událost ten callback vyvolá.
Ešte by som dopnil prístup k vyhýbaniu sa omylom, vrátane minimalizácie používania pointrov, ale to je vlastne v tom linku čo som dával.Jo, tím, že všechno narvou na stack, to je teda řešení...
U++ je proste o priečku vyššie nad C++To ani náhodou.
a stále je to C++ a môžeš si ďalej písať častí programov ako si bol zvyknutý, no môžeš využiť práve tie vychytávky ktoré sa tebe nepáčiaNejde o to, že by se mi nepáčily vychytávky, jde o to, že tam IMHO žádný nejsou
Eliminácie pointrovU++ "eliminuje pointery" tím, že všechno narve na stack. V C++11 máš samozřejmě možnost dávat věci na stack taky, ale krom toho máš k dispozici smart pointery, které se dají použít i v situacích, kde striktně stack-based alokace nestačí (sdílený přístup apod.). Qt dále kromě zmíněného nabízí thread-safe COW (QSharedData). Až bude mít U++ něco z toho, dej mi vědět...
Nejdůležitějším je, že Ultimate++ nevyžaduje aby byly widgety alokované na haldě.Qt tohle taky nevyžaduje, widgety si můžeš dát na stack. Nicméně v Qt je zvyk (ne nutnost) dávat widgety na heap, protože jejich lifetime se spravuje tím jejich QObject stromem, což osobně filosoficky vzato moc nemusim, nicméně v praxi tofunguje poměrně dobře.
Tak schvále napíš tie Bohoušovi lívance na ten príklad čo som tu odkazoval, ten prvý kód v QT.Ok, tady to máš
~date1
? Netušim, co tam ten operátor ~
dělá.
2) Když mám kód nejakyWidget <<= THISBACK(nejakaFunkce);
, jak poznám, kdy se ta funkce zavolá?
Ja tam furt nevidim to pravidlo, proc by kod v Qt mel byt delsi. Spis naopak.
Spustim QtCreator. Nakreslim GUI v navrhari, kliknu pravym na tlacitko, dam jit na slot clicked, vyplnim co se stane v vygenerovanem kodu prehledym C++. Hotovo, zbyde mi main.cpp, .h s tridou, .cpp s funkci clicked, .ui s GUI a .pro pro qmake. Ty C++ zdrojaky dohromady stejne dlouhy jako ekvivalent s U++. Ale napsal jsem jen vnitrek ty funkce clicked.
Nechci se v něm podrobně rozepisovat o implementačních detailech a motivaci k jeho vytvoření.To by mě ale zrovna docela zajímalo, zejména ta motivace
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.