Odpovídáte na názor ke článku Destructive Move v C++?.
cdecl jako takové řeší jen vyčištění zásobníku, nic neříká o volání destructorů. C++ se rozhodlo, že bude volat destructory těsně před vyčištěním zásobníku v caller contextu, ale nic nebrání tomu volat destructory v callee kontextu, jako to dělá Rust, a pořád to bude cdecl. Nicméně to je slovíčkaření.
C++ už v historii ABI breaky mělo, např. std::string kvůli zrušení copy-on-write a std::list kvůli size() v C++11. Vážně se o možnosti větších ABI breaků uvažovalo na konferenci v Praze a hlasovalo se o tom, ale ABI break boužel neprošel. Podle mého názoru se tím C++ odsoudilo k tomu, že bude v dlouhodobém měřítku stále méně relevantní (Google se už od C++ dost odklání). Zajímavé povídání je tom zde: The Day The Standard Library Died
Co tím chci říct, i C++ je schopné ABI break potenciálně udělat (třeba na druhý pokus...).
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 593×
Přečteno 27 720×
Přečteno 26 401×
Přečteno 24 367×
Přečteno 22 864×