Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6313 / 3036 / 1053
Регистрация: 01.06.2021
Сообщений: 11,562

Очистка памяти

25.07.2021, 12:26. Показов 3171. Ответов 34
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
в коде есть такая функция

C++
1
2
3
4
5
6
7
8
string* myFoo(string text, int n)
{
    string* str = new string [n];
    
    // много много кода
    
    return str;
}
потом эта функция используется в другой функции:

C++
1
2
3
4
5
6
7
8
9
double* myFoo2(string text, int n)
{
    double* d = new double [n];
    string* str = myFoo(text, n);
    
    //много кода
    
    return d;
}
Вопрос: нужно ли внутри функции myFoo2 прописать перед return d; еще и delete [] str; ?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.07.2021, 12:26
Ответы с готовыми решениями:

Очистка памяти при выделении памяти для класса
Доброго времени суток! Помогите пожалуйста разобраться, как делать очистку динамической памяти при ее выделении для объектов класса. Вот...

Очистка памяти
Подскажите пожалуйста что не так делаю, создаю массив лейблов: TLabel **Labels; Labels = new TLabel*; for(int i = 0; i < rabot...

очистка памяти
в данном случае деструктор очистит всё, или нет? #include "base.h" #include <cstdlib> #include <ctime> base::base(int x,int...

34
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6313 / 3036 / 1053
Регистрация: 01.06.2021
Сообщений: 11,562
26.07.2021, 22:53  [ТС]
Студворк — интернет-сервис помощи студентам
DrOffset, да, наверное, перепутал)
0
Гвоздь Задиров
 Аватар для Folian
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
26.07.2021, 22:55
Цитата Сообщение от Royal_X Посмотреть сообщение
unique_ptr в C++11 заменён на auto_ptr
Наоборот. В 11 deprecated, в 17 вообще removed.
Цитата Сообщение от Royal_X Посмотреть сообщение
да они и не справляются с циклическими ссылками между объектами.
Чо?)
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6313 / 3036 / 1053
Регистрация: 01.06.2021
Сообщений: 11,562
26.07.2021, 22:55  [ТС]
TRam_, <vector> лучше unique_ptr ?
0
фрилансер
 Аватар для Алексей1153
6495 / 5726 / 1133
Регистрация: 11.10.2019
Сообщений: 15,287
26.07.2021, 22:59
Цитата Сообщение от Royal_X Посмотреть сообщение
да они и не справляются с циклическими ссылками между объектами
у std::unique_ptr не может быть никаких циклических ссылок. А на std::shared_ptr можно ссылаться через std::weak_ptr для решения проблемы циклических ссылок
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
26.07.2021, 23:00
Цитата Сообщение от Royal_X Посмотреть сообщение
<vector> лучше unique_ptr?
Это разные инструменты. Есть ситуации где подходит один, а есть ситуации, где подходит другой. Абстрактные лучше\хуже - это совершенно некорректные определения для подобных вещей.

Для тех совершенно тривиальных примеров использования динамической памяти, которые тут демонстрировали вы, вектор подходит весьма неплохо. И избавит вас о нужды вручную дергать деаллокацию. А если вы немного потрудитесь и разбереть в принципах работы, то может быть и даст некоторый прирост производительности (за счет переиспользования уже выделенной ранее памяти).
1
26.07.2021, 23:01  [ТС]

Не по теме:

Folian, что-то такое слышал, мол при создании Bolgen OS использовался shared_ptr, чтобы присобачить к циклическим ссылкам.

0
26.07.2021, 23:02

Не по теме:

Цитата Сообщение от Royal_X Посмотреть сообщение
что-то такое слышал, мол при создании Bolgen OS использовался shared_ptr, чтобы присобачить к циклическим ссылкам.
Это троллинг такой несмешной? :)
Этот Bolgenos?

0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6313 / 3036 / 1053
Регистрация: 01.06.2021
Сообщений: 11,562
26.07.2021, 23:07  [ТС]
DrOffset, не хочу добавлять <vector> в проект, линкер на статике, не хочу увеличить размер исполняемого файла.
0
Гвоздь Задиров
 Аватар для Folian
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
26.07.2021, 23:08
Цитата Сообщение от Royal_X Посмотреть сообщение
что-то такое слышал, мол при создании Bolgen OS использовался shared_ptr, чтобы присобачить к циклическим ссылкам.
Да я про термин. Циклическая ссылка - это то что я раньше называл "жуткие взаимозависимые фиговины"?
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6313 / 3036 / 1053
Регистрация: 01.06.2021
Сообщений: 11,562
26.07.2021, 23:09  [ТС]
Folian, ну пусть тогда круговая ссылка)
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
26.07.2021, 23:13
Цитата Сообщение от Royal_X Посмотреть сообщение
не хочу добавлять <vector> в проект, линкер на статике, не хочу увеличить размер исполняемого файла.
Если вы используете С++, то у вас уже все что нужно прилинковано к проекту. Добавление или удаление заголовочного файла стандартной библиотеки ничего не изменит. Что у вас за, прошу прощения, дикарские суждение такие? Откуда вы этого понабрались?
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6313 / 3036 / 1053
Регистрация: 01.06.2021
Сообщений: 11,562
26.07.2021, 23:16  [ТС]
DrOffset, я просто нуб и этим все сказано
0
фрилансер
 Аватар для Алексей1153
6495 / 5726 / 1133
Регистрация: 11.10.2019
Сообщений: 15,287
26.07.2021, 23:17
Royal_X, циклический указатель на аватарке детектед
2
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
26.07.2021, 23:27
Цитата Сообщение от Royal_X Посмотреть сообщение
не хочу добавлять <vector> в проект, линкер на статике, не хочу увеличить размер исполняемого файла.
От unique_ptr он увеличится не меньше. А что собственно делаете, систему подбора паролей ?
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6313 / 3036 / 1053
Регистрация: 01.06.2021
Сообщений: 11,562
26.07.2021, 23:42  [ТС]
Цитата Сообщение от TRam_ Посмотреть сообщение
А что собственно делаете, систему подбора паролей
писал программу для взлома шифра Вижинера без ключа (частотный анализ и поиск размера ключа по индексу совпадений). Программа уже готова, все работает)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.07.2021, 23:42

очистка памяти
при запуск программы сама собой создаётся точка останова в строке 59. И дальше программа идти не хочет (даже инструментами отладки). //...

Очистка памяти
Цель: Написать программу, которая читает текст из файла и записывает в новый файл те слова, которые содержат буквы, введенные с...

Очистка памяти
Подскажите, верно ли я освобождаю память от динамических массивов? void Library::operator+=(string simbol) { if (simbol ==...

Очистка памяти
При выполнении программы, память приложения растёт, а она должна быть неизменной. int main() { setlocale(LC_ALL,...

Очистка памяти
Как правильно очистить память в массиве классов Вот код конструктора, выделяющего память, и деструктора. Выдает ошибку в самом конце...


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

Или воспользуйтесь поиском по форуму:
35
Ответ Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru