Форум программистов, компьютерный форум CyberForum.ru

С++ течет при наследовании - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализация игры Уголки http://www.cyberforum.ru/cpp-beginners/thread771684.html
Задали написать игру Уголки с классами, код выдает ошибки #include <iostream> #include <windows.h> using namespace std; class board; class figura { int x,y; public: int player;
C++ как передать в функцию двухмерный динамический массив по ссылке как передать в функцию двухмерный динамический массив по ссылке? http://www.cyberforum.ru/cpp-beginners/thread771653.html
C++ Вывести на экран таблицу истинности
Для !(A && B) вывести на экран таблицу истинности с использованием функции string Res(bool, bool). Таблица должна выводится в главной функции main()
C++ Поменять местами минимальный элемент матрицы Р (9×11) и элемент, значение которого совпадает с заданным X
Поменять местами минимальный элемент матрицы Р (9×11) и элемент, значение которого совпадает с заданным X. Если указанный элемент в матрице отсутствует, вывести сообщение об этом
C++ Необходимо найти ноль функции на отрезке http://www.cyberforum.ru/cpp-beginners/thread771607.html
Дана непрерывная функция. Необходимо найти ее ноль на отрезке с точностью*E*методом*половинного*деления. В программе также ввести режим работы, используя конструкцию switch-case (один из возможных вариантов – идентификация режима по номеру, в качестве альтернативного режима работы программы предлагается вывод на экран информации*об*авторе). Входные*данные:*Mode,*L,*R,*E....
C++ Поправить формулу(часть кода) Добрый день. Имеется данная формула: На C++ надо составить формулу в OpenMp. #include "stdafx.h" #include <conio.h> enum{NUM_ITER=1000000, NUM_THREAD=4}; int _tmain(int argc, _TCHAR* argv) { double q=-1; double x=1; подробнее

Показать сообщение отдельно
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
25.01.2013, 23:53
У стандартных контейнеров вообще не надо вызывать деструкторы. Т.е. так писать: vector_name.~vector() не надо. (отступление - явный вызов деструкторов вообще считается не очень хорошим тоном. именно деструкторов, а не delete). Стандартный контейнер все сам прекрасно удалит. Единственная ситуация, когда ему надо помочь, это если он хранит в себе обычные указатели.
C++
1
2
3
4
5
6
7
8
9
class A
{
some_my_type m_some; // это объект некоторого типа. не надо явно вызывать его деструктор. объект удалится сам
some_my_type* m_some_ptr; // а это уже надо будет явно удалить с помощью delete
shared_ptr<some_my_type> m_some_sptr; // это умный указатель на объект. удалится сам
std::vector<some_my_type> m_vector; // стандартный контейнер. удалится сам. без дополнительных телодвижений в деструкторе
std::vector<some_my_type*> m_ptr_vector; // стандартный контейнер с голыми указателями. чтобы его почистить, надо будет циклом по нему пройтись и удалить каждый элемент через delete
std::vector<shared_ptr<some_my_type>> m_sptr_vector; //стандартный контейнер с умными указателями. удалится сам
};
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru