Какой размер у unique_ptr?
Объект типа std::uniqueptr обычно занимает столько же памяти, сколько и обычный указатель, то есть размер указателя на данной платформе (например, 4 байта на 32-битных системах и 8 байт на 64-битных).
Читать ответПодготовка к интервью
12 вопросов с собеседований в тест
Что проверяют на интервью
Подборка объединяет вопросы, отмеченные на этапах интервью в тест. Здесь можно понять структуру технической проверки и заранее повторить связанные темы.
Каталог
Объект типа std::uniqueptr обычно занимает столько же памяти, сколько и обычный указатель, то есть размер указателя на данной платформе (например, 4 байта на 32-битных системах и 8 байт на 64-битных).
Читать ответstd::weakptr используется для создания невладеющих ссылок на объект, управляемый std::sharedptr.
Читать ответsharedptr состоит из двух основных компонентов:
Читать ответЧтобы класс MyClass можно было использовать как ключ в std::mapMyClass, ValueType и std::unorderedmapMyClass, ValueType, необходимо:
Читать ответunorderedmap в C++ реализован на основе хеш-таблицы. Это структура данных, которая хранит пары ключ-значение и обеспечивает быстрый доступ к элементам по ключу в среднем за константное время O(1).
Читать ответЭкземпляр std::sharedptr обычно требует памяти для хранения:
Читать ответВ std::unorderedmap операции поиска, вставки и удаления элементов имеют амортизированную временную сложность O(1) в среднем случае.
Читать ответОткрытая адресация и метод цепочек.
Читать ответОсновное отличие — в количестве выделений памяти:
Читать ответСчетчик ссылок — это механизм управления памятью, при котором для каждого объекта хранится количество активных ссылок на него.
Читать ответstd::uniqueptr — это умный указатель в C++, который обеспечивает уникальное владение объектом. Его особенности:
Читать ответДа, некоторые операции инвалидируют итераторы unorderedmap.
Читать ответ