Byla vydána verze 5.30 dnes již open source operačního systému RISC OS (Wikipedie).
V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …
Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.
Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.
Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.
Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.
Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.
Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.
Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.
class test_class_text { private: std::string _switch_pin; public: test_class_text(const std::string& switch_pin) : _switch_pin(switch_pin) { } }; auto obj = test_class_text({ .switch_pin = "Lorem ipsum..." });a tento už nie?
class test_class_int { private: int _switch_pin; public: test_class_int(const int& switch_pin) : _switch_pin(switch_pin) { } }; auto obj = test_class_int({ .switch_pin = 5 });je už neskoro večer možno som unaveny a niečo som priehliadol, ale fakt nechapem prečo to so stringom funguje a s intom už nie?
Tiskni Sdílej:
si nedal celej příklad takže nevíme co tam čaruješ, předpokladam že to máš asi jako takle nějak:
#include <string> class test_class_text { private: std::string _switch_pin; public: test_class_text(const std::string& switch_pin) : _switch_pin(switch_pin) { } }; class test_class_int { private: int _switch_pin; public: test_class_int(const int& switch_pin) : _switch_pin(switch_pin) { } }; int main() { auto obj = test_class_int({ .switch_pin = 5 }); auto obj2 = test_class_text({ .switch_pin = "Lorem ipsum..." }); return 0; }
noa se mi jako zdá že tam neni problém s tou třídou co dělá s intem ale s tou co dělá se stringem, páč v konstruktoru 'test_class_text' vidim že chce referenci/vodkaz na string zatimco ty tam zkoušíš narvat const char * "Lorem ipsum" :D ;D
když si to jakoby zkusíme zkompilovat uděláním 'g++ -std=c++20 main.cpp' tak nám to asi jako zanadává
main.cpp: In function ‘int main()’: main.cpp:30:64: error: call of overloaded ‘test_class_text(<brace-enclosed initializer list>)’ is ambiguous 30 | auto obj2 = test_class_text({ .switch_pin = "Lorem ipsum..." }); | ^ main.cpp:7:5: note: candidate: ‘test_class_text::test_class_text(const string&)’ 7 | test_class_text(const std::string& switch_pin) : | ^~~~~~~~~~~~~~~ main.cpp:2:7: note: candidate: ‘test_class_text::test_class_text(const test_class_text&)’ 2 | class test_class_text | ^~~~~~~~~~~~~~~ main.cpp:2:7: note: candidate: ‘test_class_text::test_class_text(test_class_text&&)’
..a zanadávalo :D :D Vyřešit to mužem třeba tim že dotoho budem strkat dočasnej voběkt std::string
auto obj2 = test_class_text({ .switch_pin = std::string("Lorem ipsum...") });
takle to funguje ale netvrdim že to je nejvíc nejlepší řešení ňáký :D ;D pokud by v konstruktoru třidy 'test_class_text' nebyla ta reference tak by si to samo zavolalo konstruktor std::stringu ale takle tomu asi jako musime pomoct a vysvětlit cože po tom jakože chcem :O ;D
btw si pleteš blog s poradnou a eště si to tady zaspamoval :O :D :D ;D
test_class_int(const int switch_pin) : _switch_pin(switch_pin) {}
?
u čiselnejch proměnejch ten benefit předáváním referencí taky nebude ňák moc velkej, spiš zanedbatelnej :D ;D
btw von to pak v tom konstruktoru stejně předává hodnotou (páč ty třídy si v proměný '_switch_pin' nedržej referenci ale sou to už normální proměný) nóó takže stačí by nám ta reference co se dotoho jakoby strká vydržela žít jenom po dobu volaní konstruktoru :O ;D
nj akorátže až nato že mě se ten jeho kod (mirně dopras.. upravenej ale to dělaní s intem je jakoby uplně netknutý) podařilo zkompilovat a pustit :O :D
#include <string> #include <iostream> class test_class_text { public: std::string _switch_pin; public: test_class_text(const std::string& switch_pin) : _switch_pin(switch_pin) { } }; class test_class_int { public: int _switch_pin; public: test_class_int(const int& switch_pin) : _switch_pin(switch_pin) { } }; int main() { auto obj = test_class_int({ .switch_pin = 5 }); auto obj2 = test_class_text({ .switch_pin = std::string("Lorem ipsum...") }); std::cout<<"co ma prvni vobekt: "<<obj._switch_pin<<std::endl; std::cout<<"co ma druhej vobekt: "<<obj2._switch_pin<<std::endl; return 0; }
co ma prvni vobekt: 5 co ma druhej vobekt: Lorem ipsum...
test_class_int obj2 = { .switch_pin = 5 };
? To by ale ta třída musela být POD...
mi to mý upravený jelo v gcc 10 s argumentem -std=c++20 ale netvrdim žeto je takle jakože dobře :O :O