Odpovídáte na názor ke článku Něco o callback funkcích v C++.
Tohle je ale věc překladače a optimalizace.
Pokud překladač vidí kód destruktoru a vidí, že objekt má stav, který přeskakuje jeho skutečnou destrukci, může generovat kód tak, že vynechá destruktor úplně.
Pořád nějak rustaři neumí oddělit jazyk jako výrazový prostředek a finální kód.
Takže pokud někde použiju move nad std::unique_ptr, tak sic destruktor by se měl volat vždy, i když byl pointer přesunut, tak optimalizace překladače může zjistit, že destruktor se volá vždy s null pointerem a tedy destruktor v rámci optimalizace úplně vynechat (tedy nebude tam ani ten podmíněný skok). Blbý je, pokud k move došlo mimo aktuální scope, do kterého překladač nevidí.
To všechno se může dít bez nutnosti zavádět nový jazyk.
Intenzivně se zabývám programováním zejména v jazyce C++. Vyvíjím vlastní knihovny, vzory, techniky, používám šablony, to vše proto, aby se mi usnadnil život při návrhu aplikací. Pracoval jsem jako programátor ve společnosti Seznam.cz. Nyní jsem se usadil v jednom startupu, kde vyvíjím serverové komponenty a informační systémy v C++
Přečteno 57 649×
Přečteno 27 729×
Přečteno 26 407×
Přečteno 24 371×
Přečteno 22 874×