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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
morrinoa
0 / 0 / 0
Регистрация: 16.06.2014
Сообщений: 30
#1

Выделение и использование динамической памяти - C++

02.08.2016, 11:33. Просмотров 180. Ответов 3
Метки нет (Все метки)

Вопрос такого плана, допустим я отвёл в теле метода память под массив q
C++
1
int q = new int [3];
далее я планирую некий эвент на некий момент времени, и как либо передаю туда адрес на начало этого массива, при этом после я не чищу память и тело метода закрывается, а через некое время срабатывает метод эвента, где я обращаюсь к той самой памяти и после пытаюсь её освободить. Собственно суть вопроса, если я сам не чищу память до срабатывания эвента, освободиться ли она по завершению тела, в котором была отведена, будет ли она зарезервирована, или при отводе памяти под другие переменные в промежутке между первым методом и срабатыванием эвента переменным может быть отведена память из под этого, вроде как, занятого массива?
Догадываюсь что лучше так не делать, что это криво и есть способы проще, просто стало любопытно как это работает, будет ли этот кусок памяти зарезервирован?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2016, 11:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выделение и использование динамической памяти (C++):

Выделение динамической памяти - C++
Всем доброго времени суток. Прошу помочь с задачей. Задача решена, просто нужно переделать её с выделением динамической памяти. ...

Выделение динамической памяти C++ - C++
Всем доброго времени суток. Вот столкнулся с проблемой и пока что не приходит ничего интересного по поводу её решения. есть у меня метод,...

Выделение динамической памяти - C++
Всем привет. Возникла задача, в которой мне необходимо знать как выделяется динамическая память средсвами new/delete. А именно,...

Выделение динамической памяти - C++
Чем int *List = new int; delete List; отличается от обычного массива (int List) ? Нет, я понимаю, что создал динамическую...

Выделение динамической памяти - C++
Доброго времени суток! я начинающий программист, столкнулась с такой проблемой: выделяю память под динамический массив, например ...

выделение динамической памяти - C++
помогите пожалуйста , нужно написать функцию для ввода новой матрицы, не получается выделить под него память. класс: mymatrix ::...

3
HenryDukart
123 / 123 / 35
Регистрация: 05.10.2013
Сообщений: 457
Завершенные тесты: 2
02.08.2016, 11:38 #2
Цитата Сообщение от morrinoa Посмотреть сообщение
если я сам не чищу память до срабатывания эвента, освободиться ли она по завершению тела, в котором была отведена, будет ли она зарезервирована, или при отводе памяти под другие переменные в промежутке между первым методом и срабатыванием эвента переменным может быть отведена память из под этого, вроде как, занятого массива?
Пока вы не вызовете delete []q (или при использовании интеллектуальных указателей) ваша память останется зарезервированной и ничему не будет отведена.
1
Croessmah
Эксперт CЭксперт С++
13514 / 7672 / 866
Регистрация: 27.09.2012
Сообщений: 18,888
Записей в блоге: 3
Завершенные тесты: 1
02.08.2016, 11:39 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от morrinoa Посмотреть сообщение
освободиться ли она по завершению тела, в котором была отведена
Если не сделано освобождение - то нет.
C++
1
int q = new int [3];
оно собирается? Или Вы всё-таки забыли указатель?
Цитата Сообщение от morrinoa Посмотреть сообщение
срабатыванием эвента
Никто, кроме Вас, здесь не знает что к чему в Вашем коде.
Цитата Сообщение от morrinoa Посмотреть сообщение
будет ли этот кусок памяти зарезервирован?
Пока Вы его не освободите.
1
morrinoa
0 / 0 / 0
Регистрация: 16.06.2014
Сообщений: 30
02.08.2016, 11:42  [ТС] #4
Случайно забыл указатель, извините)
Суть понял, спасибо за ответ.
0
02.08.2016, 11:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2016, 11:42
Привет! Вот еще темы с ответами:

Выделение динамической памяти - C++
Добрый вечер. Помогите разобраться пожалуйста! Суть такова: есть файл, в нем есть данные, мне надо их оттуда считать и вывести на...

Выделение динамической памяти - C++
Доброго времени суток! Возник такой вопрос, переделываю программу, где параметры матрицы задавались константами на выделение динамический...

Освобождение и выделение динамической памяти - C++
Привет народ, такой вопрос: Допустим в main, указателю выделил память, всё разумеется нормально, читаю пишу всё ок, потом передал этот...

Выделение и очистка динамической памяти - C++
Добрый день. Никак не могу найти информацию по следующему вопросу. Допустим создаем динамический массив строк. char** mass=new...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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