44 / 1 / 0
Регистрация: 14.06.2014
Сообщений: 150
1

Как правильно освободить память после работы с динамическим массивом

09.09.2015, 22:26. Показов 556. Ответов 1
Метки нет (Все метки)

Здравствуйте!
Помогите понять в чём проблема при освобождении памяти.
Простой пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
 
void main()
{
    string str = "It is string for test";
    int l_of_darr;
    l_of_darr = str.size(); // или str.length() размер для массива
    cout << l_of_darr << endl;
    char *p_darr = new char[l_of_darr];
    strncpy(p_darr, str.c_str(), str.length()+1);
    cout << str << endl;
    cout << p_darr;
    delete[] p_darr;
}
Нужный результат получается, но заканчивается ошибкой:
Как правильно освободить память после работы с динамическим массивом

Почему?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.09.2015, 22:26
Ответы с готовыми решениями:

Как освободить память, занятую массивом
Как освободить память, занятую массивом? В диспетчере задач она не освобождается автоматически при...

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

Как правильно освободить память
Написал вот такой костыль: wchar_t* getDate() { time_t seconds = time(NULL); tm timeinfo =...

Как правильно освободить память
Есть функция char* md5(const char*). Как освободить память выделенную ею? #include &lt;openssl\md5.h&gt;...

1
Don't worry, be happy
17767 / 10532 / 2034
Регистрация: 27.09.2012
Сообщений: 26,504
Записей в блоге: 1
09.09.2015, 22:30 2
C++
1
new char[l_of_darr+1];
забыли о '\0'
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.09.2015, 22:30
Помогаю со студенческими работами здесь

Как правильно освободить память
Здравствуйте все! Подскажите, как правильно освобождать память, выделенную под массив оператором...

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

Как правильно освободить память в QHash?
Добрый день. Не могу разобраться с парой вопросов. Выделяю память под объект Client, потом этот...

Подскажите пожалуйста, как правильно освободить память
Всем ку! Подскажите пожалуйста, как правильно удалить(освободить память) массива array2D. ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru