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

Освобождение памяти в методе класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с class ами. Заполнение дин. массива типа class http://www.cyberforum.ru/cpp-beginners/thread869151.html
Всем доброго времени суток! Это моя первая тема на этом сайте, поэтому если что извините меня (за неточности итд итп). Мне нужно создать заполненный дин. массив типа class ов. Я бы хотел посмотреть на какой нибудь стандартный приёмчик, как это сделать допустим с перегруженным конструктором(или ещё кое как), с одним экземпляром все ясно. Ниже приведен некий код, #include <iostream>...
C++ Задача С++ Ребят,помогите пожалуйста решить задачу в С++ http://www.cyberforum.ru/cpp-beginners/thread869149.html
Синтаксический анализатор C++
Помогите, пожалуйста, исправить код синтаксического анализатора. - оно выбрасывает программу. Надо по принципу: вот и код: #include <iostream> #include <string.h> #include <Windows.h> // using namespace std; //
Не могу получить строку C++
Здравствуйте, есть программа для перевода строки в Морзянку, но если выполнять считывание с клавиатуры то программа будет считывать только 1 или последнеее слово а не всю строку . Чувствую проблема гдето здесь: cin>>a; getline(cin, a); Пожалуйста , помогите кому не трудно. #include <iostream> #include <fstream> #include <string> using namespace std;
C++ какое значение будет выведено при выполнении операторов http://www.cyberforum.ru/cpp-beginners/thread869127.html
помогите пожалуйста.
C++ istreambuf_iterator Кто знает, как через istreambuf_iterator заменить "Inf" на -1? подробнее

Показать сообщение отдельно
fcshadow
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 3
18.05.2013, 13:35     Освобождение памяти в методе класса
Здравствуйте,
В университете дали задание написать написать стек с итератором произвольного доступа. Собственно, класс стека и итератора я написал. Есть только одна проблема. При выполнении ф-ии pop для класса stack появляется неиспользуемая память, которая в некоторых случаях может занимать довольно большой размер. Поэтому решил написать ф-ию на подобие shrink_to_fit, т.е. уменьшить размер до размера используемой памяти.
Написал такую вот дурацкую функцию:
C++ (Qt)
1
2
3
4
5
6
7
8
9
    void shrink()
    {
        T* tmp=new T[tail-head];
        memcpy(tmp,head,sizeof(T)*(tail-head+1));
        delete [] head;
        head=tmp;
        tail=head+(tail-head);
        first=head;
    }
Ошибку вызывает строка
C++ (Qt)
1
delete [] head;
Как можно исправить данную ошибку или написать ф-ию по-другому?
Скриншот ошибки прилагаю.
Миниатюры
Освобождение памяти в методе класса  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru