В типичной реализации std::shared_ptr
содержит только два указателя .
Таким образом, 1000 общих указателей занимают 1000 * 2 * sizeof(pointer)
байтов памяти.
- Размер указателя составляет 4 байта во всех 32-битных системах, которые следуют модели данных ILP32.
- Размер указателя составляет 8 байт в 64-разрядных системах, которые следуют модели данных LP64 (большинство Unix и Unix-подобных систем) или модели данных LLP64 (Microsoft Windows x86-64).
Примечание. Размер управляющего блока (который зависит от реализации) и размер объекта, к которому принадлежит общий указатель, не являются частью этого.