Форум программистов, компьютерный форум, киберфорум
Наши страницы

Про деструктор и утечку памяти - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать exe, запускающий exe http://www.cyberforum.ru/cpp/thread446459.html
Говорю сразу: я ничего не смыслю в програмировании; зачем подался на такой форум? Надеюсь получить ответ на свой вопрос,упавая на то, что его реализация не такая сложная. У меня возникла...
C++ Странное поведение bool Помогал отлаживать код и мы наткнулись на удивительное. Кодер скрыл отображение варнингов в VS2010. Метод М1 не всегда возвращал значение типа bool. И потому в методе М2, вызывающем метод М1,... http://www.cyberforum.ru/cpp/thread445695.html
Как средствами BC 3,1 запросить свободное место на указанном жёстком диске? C++
Извиняюсь, если создал лишнюю тему, но ничего по своей проблемке я вроде не заметил. Если что-то есть, поправьте. А вопрос в следующем: как средствами BC 3,1 запросить свободное место на указанном...
C++ Указания адреса функции
Есть библиотека. Нужно чтобы функция в моей библиотеке указывала на функцию в чужой. Вот мой код: typedef int (WINAPI WJMP)(); extern "C" __declspec(dllexport) WJMP Test(void); *Test=...
C++ Как аннулировать потоки, которые заблокированы по переменной условия (pthread)? http://www.cyberforum.ru/cpp/thread444520.html
И никак, что ли не аннулировать, получается? Вот, допустим, есть несколько потоков которые заблокированы по переменной условия: pthread_mutex_lock (&mutex); if (!(mozno_idti)) { ...
C++ Есть 4 потока. После осуществления блокировки барьером, 3 куда-то деваются, куда? (pthreads) Друзья! Как мог упростил код, вот суть В цикле создаются 4 вспомогательных потока, кадый из которых в цикле же 2 раза выводит свой TID. После первого вывода TIDа каждым потоком срабатывает... подробнее

Показать сообщение отдельно
samdavydov
60 / 21 / 2
Регистрация: 23.02.2012
Сообщений: 36
23.02.2012, 14:57
Все нормально будет. Будет вызван деструктор ~Symbols.

Если функции не являются виртуальными, то решение о вызове принимается на основе статического типа объекта.
C++
1
Symbols* sym = new SymbolsLaTeX();
Статический тип объекта тут Symbols.

Всё равно, это не очень хорошо. Если предполагается полиморфное поведение, то нужно объявлять деструктор виртуальным и реализовывать его в каждом наследнике. Это гигиенично.

Как верно заметил Jupiter, в данном случае не нужно явно очищать вектор, т.к. он, исчезнеть вместе с классом, освободив занимаемую память.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru