Ve Würzburgu dnes začala konference vývojářů a uživatelů desktopového prostředí KDE Akademy 2024. Sledovat lze také online (YouTube, Mastodon, 𝕏, …)
Byla vydána nová major verze 14 svobodného systému pro řízení přístupu k síti (NAC) PacketFence (Wikipedie). Přehled novinek v oznámení o vydání. Pro uživatele předchozích verzí jsou k dispozici poznámky k aktualizaci.
Jak nahrávat zvuk z webového prohlížeče na Linuxu s PipeWire pomocí Nahrávání zvuku (Sound Recorder) a Helvum případně qpwgraph, článek na webu Libre Arts.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.9.
České bezpečnostní instituce, jmenovitě Vojenské zpravodajství (VZ) a Bezpečnostní informační služba (BIS), ve spolupráci s americkou Agenturou pro kybernetickou a infrastrukturní bezpečnost (CISA), Federálním úřadem pro vyšetřování (FBI), Národní bezpečností agenturou (NSA) a dalšími mezinárodními partnery ze Spojeného království, Austrálie, Kanady, Německa, Nizozemska, Estonska, Ukrajiny a Lotyšska vydaly upozornění (
… více »Byla vydána (𝕏) srpnová aktualizace aneb nová verze 1.93 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.93 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Společnost Laravel stojící za stejnojmenným open source PHP frameworkem získala investici 57 milionů dolarů od společnosti Accel. Především na Laravel Cloud.
Byla vydána verze 1.81.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Řešena je také zranitelnost CVE-2024-43402. Vyzkoušet Rust lze například na stránce Rust by Example.
Vládní CERT vydal (𝕏) novou verzi nástroje maldump. Ten slouží k extrakci souborů z karantén různých antivirových programů. A to jak z živého systému, tak z obrazu disku.
ts *ts1 = new ts();
Akurát že toto dáva pointer, ak sa nemýlim. Následne môžem urobiť toto:
ts tsobj1=*ts1;
toto už je samotný objekt (neviem či sa vyjadrujem správne)
Otázka je či je to možné urobiť v jednom kroku. Skušal som tak náhodne rôzne varianty a nikdy to neprešlo :)
Ďakujem
PS: domáca uloha to nie je...
ts tsobj1 = ts();
ts tsobj1;Na halde bych urcite nevytvarel objekt pomoci operatoru new, ale pomoci smart pointeru takto: Do headeru dej:
typedef std::shared_ptr<ts> TsPtr;do kodu:
TsPtr tsptr = std::make_shared(); tsptr->doSomething();
const TsPtr tsptr = std::make_shared();To neznamena, ze objekt za pointrem je konstantni! Konstantni je pouze pointer. Presne: konstantni pointer na nekonstantni objekt. Je dobrym zvykem davat const vsude kde to jde, a az casem pripadne odebirat. Zpetne se const do komplikovaneho kodu spatne pridava...
ts tsobj1;
Veľká vdaka, a vďaka aj ostatným, lebo celý tento thread bol veľmi poučný :)
ts tsobj1 = ts();
Vytvoril jsi temporary object na prave strane, ktery se hned zkopiruje do objektu na leve strane. Temporary objekt nasledne zanikne, protoze na nej nevedou zadne reference. Pokud by kopirovani byla draha operace, tak zbytecne plytvas prostredky. Muzes ale implementovat metodu ts& ts::operator=(const ts& other)
, ktera nebude provadet kopirovani, ale napr. swapnuti.
ts& tsobj1 = ts();
Tak se nebude kopirovat cely temporary objekt z prave strany, ale jen reference na nej. Tim prodlouzis zivot temporary objektu, ktery bude existovat tak dlouho, dokud nepujde tsobj1 out-of-scope.
const ts&
, ale rvalue reference ts&&
. Nicméně podle toho, na co se tazatel ptá, bych se do těchhle optimalizací zatím nepouštěl :)
Tiskni Sdílej: