Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 31.03.2018
Сообщений: 60

Освободить память C++

14.05.2019, 19:19. Показов 604. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, помогите пожалуйста. Вопрос вот в чем, если у меня функция в которой Vector - это мой созданный класс.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
Vector *abc()
{
Vector *p;
p = new Vector[3];
return p;
}
 
main()
{
Vector * k;
k = abc();
delete [] k; // не работает, надо именно в мэине освободить выделенную память но как из меина добраться до такой памяти??
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.05.2019, 19:19
Ответы с готовыми решениями:

Не получается освободить память
Здравствуйте, такая загвоздка, начал изучать указатели и создание динамических массивов, проблема в том что не выходит очистить память в...

Как освободить память?
подскажите как правильно освободить память,спасибо заранее))) #include "stdafx.h" #include <stdio.h> #include...

Как освободить память быстро?
Функция malloc неправильно работает...Заполняется память быстро,а очищается долго,с чем это связано,кто знает #include<iostream> ...

5
7 / 6 / 1
Регистрация: 29.10.2016
Сообщений: 175
14.05.2019, 20:02
Напишите деструктор для класса.
0
2 / 2 / 0
Регистрация: 31.03.2018
Сообщений: 60
14.05.2019, 20:07  [ТС]
C++
1
    ~Vector() { delete this; }  // так ?
Добавлено через 1 минуту
Не вариант, после того как программа выйдет из тела моей функции деструктор удалит мои объекты Vector и я ими не смогу пользоваться в мэине
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
14.05.2019, 20:20
Араик Расоян, работает же, что пишет?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct Vector {};
 
Vector *abc()
{
    Vector *p;
    p = new Vector[3];
    return p;
}
 
int main()
{
    Vector * k;
    k = abc();
    delete[] k;
}
Добавлено через 3 минуты
можно сократить:
C++
1
2
3
4
5
6
7
8
9
10
11
12
struct Vector {};
 
Vector *abc()
{
    return new Vector[3];
}
 
int main()
{
    Vector * k = abc();
    delete[] k;
}
0
Just Do It!
 Аватар для XLAT
4204 / 2662 / 654
Регистрация: 23.09.2014
Сообщений: 9,058
Записей в блоге: 3
14.05.2019, 21:31
Цитата Сообщение от Араик Расоян Посмотреть сообщение
Не вариант, после того как программа выйдет из тела моей функции деструктор удалит мои объекты Vector и я ими не смогу пользоваться в мэине
это же круто!
кресты вас направляют на путь истины, что так не надо пейсать
0
2 / 2 / 0
Регистрация: 31.03.2018
Сообщений: 60
15.05.2019, 15:40  [ТС]
Добавлено через 49 секунд
Все братья, разобрался.
Синтаксическую ошибку допускал, потому и вижла выделяла красным мой delete [].
спс
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.05.2019, 15:40
Помогаю со студенческими работами здесь

Как правильно освободить память
Есть функция char* md5(const char*). Как освободить память выделенную ею? #include <openssl\md5.h> char* md5(const char* text) { ...

Как правильно освободить память
Здравствуйте все! Подскажите, как правильно освобождать память, выделенную под массив оператором new? int *Arr = new int; ... delete...

Как правильно освободить память
Написал вот такой костыль: wchar_t* getDate() { time_t seconds = time(NULL); tm timeinfo = *(localtime(&seconds)); return...

Как правильно освободить память
Здрасте! (Тема: Шаблоны функций.) Не могу правильно написать метод для освобождения памяти. В мейне делаю все необходимые мне...

Освободить память и записать по новой
Есть массив: char Name; нужно выполнить проверку ввода данных и при надобности освободить память и записать в массив новое значение ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru