abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 22:33 | IT novinky

Mozilla na svém blogu oznámila, že dnešním dnem postupně zapíná uživatelům Firefoxu v USA DNS přes HTTPS (DoH). Jedná se o výchozí nastavení. Odpovědi na otázky v infografice.

Ladislav Hagara | Komentářů: 3
včera 21:33 | Komunita

Dalším open source projektem, který byl finančně podpořen z programu Epic MegaGrants společnosti Epic Games je 3D PBR software pro malování textur ArmorPaint (GitHub). Získal 25 000 dolarů.

Ladislav Hagara | Komentářů: 0
včera 18:11 | Zajímavý projekt

Firma vyvíjející distribuci CoreOS/Container Linux byla před dvěma lety převzata Red Hatem, v jehož portfoliu vznikla redundance: Fedora CoreOS cílí na podobná nasazení. Krátce poté vznikl fork nazvaný Flatcar Container Linux. Aktuálně je ukončení podpory CoreOS/Container Linuxu plánováno na 26. května a odstranění instalačních obrazů z distribučních kanálů na 1. září. Firma Kinvolk udržující Flatcar Linux oznamuje, že se věnuje usnadnění přechodu stávajících uživatelů CoreOS.

Fluttershy, yay! | Komentářů: 0
včera 17:00 | Nová verze

Byla vydána verze 19.0 z Arch Linuxu vycházející linuxové distribuce Manjaro (Wikipedie). Její kódové jméno ne Kyria. Přehled novinek v oznámení v diskusním fóru. Manjaro je ke stažení v edicích XFCE, KDE Plasma a GNOME. K dispozici je také síťová instalace Architect. Vývoj Manjara lze podpořit také zakoupením počítače z předinstalovaným Manjarem.

Ladislav Hagara | Komentářů: 0
včera 12:22 | Zajímavý projekt

Dne 19. února 2020 pan Kyle Finlay zahájil na Kickstarteru kampaň s názvem GamePad, jejímž cílem je získat prostředky na zprovoznění nové open source platformy pro digitální distribuci her, čistě pro OS Linux. Nová herní platforma je inspirována GOG.com a autoři slibují plnou podporu her bez ohledu na konkrétní distribuci, ale hlavně bez DRM. GamePad by měl být plně otevřený, včetně API, takže bude možné upravovat klienta, nebo si vytvořit

… více »
D.A.Tiger | Komentářů: 1
včera 01:00 | Komunita

Luboš Kocman, Release Manager openSUSE Leap, oznámil, že verze 15.2 linuxové distribuce openSUSE Leap vstoupila do beta fáze. Připojit se lze k testování a hlásit chyby. Aktivní testeři mohou získat tričko. Finální vydání openSUSE Leap 15.2 je plánováno na 7. května 2020.

Ladislav Hagara | Komentářů: 24
24.2. 23:11 | Nová verze

Oficiálně byla vydána nová stabilní verze 2.10.18 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP. Přehled novinek i s náhledy a videi v oznámení o vydání a v souboru NEWS na GitLabu. Verze 2.10.16 nebyla kvůli vážné chybě oficiálně vydána.

Ladislav Hagara | Komentářů: 2
24.2. 22:55 | Nová verze

Balík Rakudo Star, tj. Rakudo včetně modulů a dokumentace, byl vydán ve verzi 2020.01. Rakudo je implementace programovacího jazyka Raku. Ten byl ještě nedávno znám pod názvem Perl 6.

Ladislav Hagara | Komentářů: 0
24.2. 20:00 | Komunita

Aaron Griffin, dosavadní vedoucí projektu Arch Linux, oficiálně oznámil výsledek volby nového vedoucího projektu Arch Linux. Novým vedoucím se stal Levente Polyak (anthraxx).

Ladislav Hagara | Komentářů: 0
24.2. 07:00 | Zajímavý článek

Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 90 (pdf), HackSpace 28 (pdf) a Wireframe 31 (pdf) a 32 (pdf).

Ladislav Hagara | Komentářů: 0
Vydržela vám novoroční předsevzetí?
 (9%)
 (5%)
 (3%)
 (83%)
Celkem 198 hlasů
 Komentářů: 0
Rozcestník

www.AutoDoc.Cz

Dotaz: C++: move sémantika u bázové a odvozené třídy

7.2. 20:03 __blr__
C++: move sémantika u bázové a odvozené třídy
Přečteno: 340×
Zdravím,

snažím se pochopit move sémantiku, r-value reference, ..

Pro příklad: Mám třídu JsonNode:
class JsonNode {
public:
    virtual ~JsonNode() {};
    virtual JsonNodeType get_type() = 0; 
};
a třídy dědící JsonNode: JsonArray, JsonObject, JsonNumber, ...

Teď bych potřeboval vytvořit třídu JsonPair, která bude spojovat JsonString a libovolnou třídu, která dědí JsonNode - je to pro implementaci JsonObject, kdy klíč je vždy string a hodnota je lib. datový typ JSON.

Pokud bych jel "postaru", tak bude JsonPair ukládat pointer JsonNode *. Do něj uložím co je potřeba a když budu s daty pracovat, tak si nejprve zjistím, co je to za typ a následně budu volat jednotlivé metody, které se budou lišit dle dat. typu.

Nyní bych chtěl tento problém řešit s využitím move semantiky - abych se nemusel o pointery Json objektů starat během přiřazování, řešit co s pointerem, kdy odkazovanou třídu využiju jinde (a nebo ne), kdy zavolat delete.

Move konstruktor a operátor přiřazení (&&) mám pro každou třídu hotový. Teď bych to potřeboval "napojit" v třídě JsonPair, kde může být víc jednotlivých tříd. A zde jsem se zasekl.

Můžete mi prosím zaslat nějaký návrh, jak toto vyřešit? Jde mi o pochopení, jak to funguje...

Díky moc!

Odpovědi

7.2. 22:04 __blr__
Rozbalit Rozbalit vše Re: C++: move sémantika u bázové a odvozené třídy
Odpovím si sám: prostudovat Object Slicing, použít (smart) pointery...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.