Článek jsem pouze prolétl, ale pár poznámek:
1. Současné ABI a standardy jako POSIX mají za sebou cca půl století, myslím si, že by stálo za to navrhnout nějakou verzi 2.0, kde by se zohlednily současné poznaky.
2. C++ předpokládá design tříd jako std::vector, potom move sémantika probíhá tak, že se vytvoří nový handle s bez obsahu, zkopíruje(swap) se hodnota adresy na obsah z původního handlu, původní handle se může jen tak uvolnit, protože nemá žádný obsah. Jedná se o sadu triviálních operací.
3. Jak bylo v článku zmíněno, move sémtantika prošla od své první standardizace vývojem a je možné, že se bude leštit nadále. Celkem zajímavý je v principu návrh Herba Suttera - in, out, inout, což by snížilo složitost kódu, ale jedná se o generickou záležitost, což se momentálně řeší tak, že se vygenerují všechny možnosti a překladač sám vybere tu nejvhodnější - move, copy, reference, const reference.
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×