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

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

Войти
Регистрация
Восстановить пароль
 
Nikitko_Cent
136 / 106 / 10
Регистрация: 27.10.2011
Сообщений: 660
Завершенные тесты: 2
#1

Как правильно освободить память - C++

17.06.2014, 07:25. Просмотров 382. Ответов 4
Метки нет (Все метки)

Написал вот такой костыль:
C++
1
2
3
4
5
6
7
wchar_t* getDate()
{
    time_t seconds = time(NULL);
    tm timeinfo = *(localtime(&seconds));
 
    return _wasctime(&timeinfo);
};
Теперь его использую в main:
C++
1
2
3
4
5
6
7
wchar_t *date=getDate();
 
if (date!=nullptr)
{
    ...
        
};
Как правильно освободить область памяти, на которую указывает date? За delete и delete [] получаю по рукам.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2014, 07:25     Как правильно освободить память
Посмотрите здесь:

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

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

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

Как правильно освободить память деструктором? - C++
Не могу понять, как освободить память деструктором... В общем, я объявляю в private динамический массив на 3 элемента, после чего память от...

Подскажите пожалуйста, как правильно освободить память - C++
Всем ку! Подскажите пожалуйста, как правильно удалить(освободить память) массива array2D. Array1D<Elem>* array2D = ...

Как правильно освободить память после работы с динамическим массивом - C++
Здравствуйте! Помогите понять в чём проблема при освобождении памяти. Простой пример: #define _CRT_SECURE_NO_WARNINGS #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
uglyPinokkio
326 / 229 / 41
Регистрация: 30.05.2014
Сообщений: 682
17.06.2014, 07:49     Как правильно освободить память #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Nikitko_Cent Посмотреть сообщение
Как правильно освободить область памяти, на которую указывает date? За delete и delete [] получаю по рукам.
asctime uses a single, statically allocated buffer to hold the return string. Each call to this function destroys the result of the previous call.

Не нужно ничего освобождать, нужно копировать строку, если она нужна где-то дальше. Функция использует статический буфер.
Hrapvlesu
11 / 11 / 2
Регистрация: 08.06.2012
Сообщений: 28
17.06.2014, 08:00     Как правильно освободить память #3
Возвращается адрес на статический блок памяти, его не нужно освобождать.
Nikitko_Cent
136 / 106 / 10
Регистрация: 27.10.2011
Сообщений: 660
Завершенные тесты: 2
17.06.2014, 08:23  [ТС]     Как правильно освободить память #4
Аа, вот оно что.
А что тогда с указателем делать? Просто обнулить его?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2014, 08:43     Как правильно освободить память
Еще ссылки по теме:

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

как освободить память? - C++
Здравствуйте!!! Почему-то никак не освобождается память, выделенная оператором new под двумерный массив типа char,- как только идет...

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

Как освободить память из-под вектора объектов? - C++
vector<TObj*> obj; obj.push_back(new obj()); obj.erase(obj.begin()+indx);//удаляю указатель который указывал на объект "Для...


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

Или воспользуйтесь поиском по форуму:
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,013
17.06.2014, 08:43     Как правильно освободить память #5
Ничего не надо делать. И в 4 строчке не нужно разыменовывать. Функция возвращает указатель - указатель и используйте.
Yandex
Объявления
17.06.2014, 08:43     Как правильно освободить память
Ответ Создать тему
Опции темы

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