Odpovídáte na názor ke článku Skrytá úskalí vícenásobné dědičnosti v C++.
Pane Ponkrác, všechno to jsou Vaše doměnky, které stojí na hliněných nohou. Sizeof opravdu vrací velikost, kterou třída zabere v paměti. Tedy bez paddingu, který tam může překladač dodat v případě, že potřebuje udělat zarovnání pro další membery. Dokonce i samotná velikost může být vrácena s respektem na zarovnání (pokud třída obsahuje member, který se zarovnává na adresu dělitelnou 4, bude velikost celého objektu také dělitelná 4, protože podle tohoto čísla se například adresují prvky v poli).
Že prázdná třída skutečně má velikost 1 (abych byl přesný, prázdná třída má velikost sizeof(char) ), vám potvrdí sám Stroustrup, viz: <a>http://www.research.att.com/~bs/bs_faq2.html#sizeof-empty
Ostatní poznámky spíš ukazují vaší neznalost celé problematiky (otázka, k čemu je tedy sizeof, když podle vás nevrací správné údaje? Jaké by měl mít využití? Jak budete bez sizeof implementovat takový std::vector, jak budete počítat potřebnou velikost paměti?)
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 611×
Přečteno 27 724×
Přečteno 26 404×
Přečteno 24 368×
Přečteno 22 865×