|
Модераторы: bsa |
|
neosapient |
|
||||||
Опытный Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Здравствуйте.
Хочу задать класс-интерфейс с пустыми виртуальными методами. И хочу спрятать всю функциональность в статическую библиотеку. Нет ли утечки памяти из-за такой реализации? Интерфейс для класса А определен ниже. В нем только виртуальные методы. *.h-файл
Статическая библиотека
Использование статической библиотеки сторонним программистом.
То есть был создан объект класса B. Потом объект был удален. Но объект класса В содержит в себе субобъект класса А. (Если я правильно помню, то компиляторы выделяли несколько пустых байт под класс А, хоть в классе А нет переменных). Так как деструктор не виртуальный, то будет вызван деструктор только для объекта класса B, но не для субобъекта А. Что меня интересует: будет ли удален субобъект класса А из оперативной памяти? - те самые несколько пустых байт, что сгенерирует компилятор. Или эти несколько байт замусорят память? Спасибо. |
||||||
|
|||||||
xvr |
|
||||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Нет
Нет, будут вызваны оба деструктора Проблемы будут если вы попытаетесь сделать delete a Вот тогда деструктор B вызван не будет Виртуальные деструкторы нужны если вы удаляете полиморфные объекты через указатель на базовый объект. |
||||
|
|||||
neosapient |
|
|||
Опытный Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Понял.
Спасибо. |
|||
|
||||
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |