|
0 / 0 / 0
Регистрация: 04.09.2017
Сообщений: 6
|
|||||||||||
Про утечку памяти, new, delete и функции, возвращающие указатель на структуру21.03.2018, 00:40. Показов 1349. Ответов 5
Метки нет (Все метки)
О как тему назвал!
Очередной вопрос от новичка. Допустим, есть код.
Вариант 2.
Предполагается многократный вызов функций типа yearsec. В ней библиотечкая функция, которая возвращает указатель на стандартную структуру типа tm, stat и т.п. В каких случаях возможна утечка памяти и нужен в каких-нибудь ситуациях delete?
0
|
|||||||||||
| 21.03.2018, 00:40 | |
|
Ответы с готовыми решениями:
5
Вопрос про утечку памяти в Qt Про деструктор и утечку памяти Объявить массив из N указателей на функции, возвращающих указатели на функции, возвращающие указатель на char |
|
1063 / 984 / 153
Регистрация: 10.08.2015
Сообщений: 5,347
|
|
| 21.03.2018, 01:00 | |
|
new, delete - это скобки, иначе утечка. поэтому использовать только в одном пространстве имен
0
|
|
|
2734 / 888 / 331
Регистрация: 10.02.2018
Сообщений: 2,099
|
||||||
| 21.03.2018, 09:20 | ||||||
|
Если какая-либо функция возвращает указатель, это не означит, что для возвращаемого значения была выделена динамическая память. Нужно читать документацию к подобной функции, там должны быть указаны особенности её реализации. Например, функция может быть построена как-то так:
0
|
||||||
|
0 / 0 / 0
Регистрация: 04.09.2017
Сообщений: 6
|
|
| 21.03.2018, 21:10 [ТС] | |
|
Какая разница между примерам GbaLog и Ygg кроме того, что t из GetTimePtr будет доступна извне функции после её завершения?
Верно ли что при каждом вызове yearsec область памяти, где будет храниться struct tm t, одна и та же, и, теоретически ,после завершения yearsec данные t будут где-то храниться до следующего вызова yearsec? Или такое происходит только при использовании static?
0
|
|
|
Любитель чаепитий
|
||||
| 22.03.2018, 12:05 | ||||
|
в случае Ygg придётся ещё mktime вызвать.у вас утечка памяти, при каждом вызове выделяется память, указатель на которую по завершению функции благополучно теряется. если так: static struct tm * t = new struct tm;, то +- всё ок, ОС грохнет эту память, когда приложение завершится.а если так: static struct tm * t; t = new tm;, то снова утечка.
0
|
||||
| 22.03.2018, 12:05 | |
|
Помогаю со студенческими работами здесь
6
Указатель на структуру, как параметр функции Передать указатель на структуру в параметре функции Выделение памяти, проверка на утечку памяти Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|