Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6690 / 3078 / 1064
Регистрация: 01.06.2021
Сообщений: 11,872

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

25.07.2021, 12:26. Показов 3258. Ответов 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
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6690 / 3078 / 1064
Регистрация: 01.06.2021
Сообщений: 11,872
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
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6690 / 3078 / 1064
Регистрация: 01.06.2021
Сообщений: 11,872
26.07.2021, 22:55  [ТС]
TRam_, <vector> лучше unique_ptr ?
0
фрилансер
 Аватар для Алексей1153
6509 / 5768 / 1135
Регистрация: 11.10.2019
Сообщений: 15,408
26.07.2021, 22:59
Цитата Сообщение от Royal_X Посмотреть сообщение
да они и не справляются с циклическими ссылками между объектами
у std::unique_ptr не может быть никаких циклических ссылок. А на std::shared_ptr можно ссылаться через std::weak_ptr для решения проблемы циклических ссылок
0
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
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
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6690 / 3078 / 1064
Регистрация: 01.06.2021
Сообщений: 11,872
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
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6690 / 3078 / 1064
Регистрация: 01.06.2021
Сообщений: 11,872
26.07.2021, 23:09  [ТС]
Folian, ну пусть тогда круговая ссылка)
0
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
26.07.2021, 23:13
Цитата Сообщение от Royal_X Посмотреть сообщение
не хочу добавлять <vector> в проект, линкер на статике, не хочу увеличить размер исполняемого файла.
Если вы используете С++, то у вас уже все что нужно прилинковано к проекту. Добавление или удаление заголовочного файла стандартной библиотеки ничего не изменит. Что у вас за, прошу прощения, дикарские суждение такие? Откуда вы этого понабрались?
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6690 / 3078 / 1064
Регистрация: 01.06.2021
Сообщений: 11,872
26.07.2021, 23:16  [ТС]
DrOffset, я просто нуб и этим все сказано
0
фрилансер
 Аватар для Алексей1153
6509 / 5768 / 1135
Регистрация: 11.10.2019
Сообщений: 15,408
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
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6690 / 3078 / 1064
Регистрация: 01.06.2021
Сообщений: 11,872
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
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru