Читать книгу Ссылки и указатели в C++: от основ к безопасности и современному коду - - Страница 85

ВОДА

Оглавление

Оператор sizeof подобен ценнику в магазине: он показывает «реальную» стоимость товара, но на деле итоговая цена оказывается выше из-за налогов и упаковки (padding); без понимания этого легко превысить выделенный бюджет памяти.


Ещё пример с классом:

class Base { virtual ~Base() {} }; // vtable ~8 байт


class Derived : public Base { int x; }; // sizeof ~16 (8 vtable + 4 int + 4 pad)


std::cout << "sizeof(Derived): " << sizeof(Derived) << std::endl;


"Реальный" 4 (int), но с vtable и padding 16.

Ссылки и указатели в C++: от основ к безопасности и современному коду

Подняться наверх