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

Устал искать баг - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обработка файов регулярными выражениями. http://www.cyberforum.ru/cpp/thread338680.html
Задайте верное направление. Исходная задача. Необходимо обработать текстовый файл "умным образом". Где то достаточно просто замены "А" на "Б"; где то необходимы регулярные выражения (например, дату из формата dd.mm.YYYY в YYYY-mm-dd) и т.п. Соответственно полгаю использовать регулярные выражения и boost. Думаю хранить пары "рег.выражение"/"на что заменять" хранить в текстовом файле, затем...
C++ Выбор технологии Всем привет! У меня такой вопрос Вот я сейчас работаю в компании, которая занимается разработкой ПО на С++ Начал разработку проекта Про технологию речи не шло, я скачал много учебников (имею небогатый опыт прогарммирования на С++, и в учебниках есть необходимость) Так уж получилось, что почти во всех учебниках, которые я скачал, и которые затрагивают Visual C++, речь идёт об MFC Поэтому... http://www.cyberforum.ru/cpp/thread338604.html
RxGifAnimator C++
Всем привет дайте мне кто нибудь файл RxGifAnimator для С Добавлено через 10 секунд кому не жалко
Работа с pdf в Cairo. C++
Помогите разобраться с выводом графики в pdf. Английский не знаю. Очень трудно читать буржуйские мануалы, 3 день парюсь. Самый важный вопрос: Какая функция начинает вторую страницу pdf??? Менее важные: Как допустим открыть pdf и не удаляя его, продолжить на нем рисовать?? Добавлено через 1 час 21 минуту
C++ При запуске консоль не поддерживается http://www.cyberforum.ru/cpp/thread338400.html
Добрый день. Есть такая проблема, прога работает нормально но одно диалоговое окно задолбало(извините...)... При запуске прилрожения выскакивает: Диалоговое окно "WARNING" Selected console type is not supported in your configuration, using External terminal instead Типа консоль не поддерживается в данной конфигурации...а так прога запускается и работает, помогите исправить если конечно...
C++ сс3260mt.dll Билдер пишет, что на компе нет сс3260mt.dll и упорно отказывается запускать мои проги. Я скачал эту библиотеку, в какую папку её пихать? подробнее

Показать сообщение отдельно
voral
393 / 373 / 50
Регистрация: 16.03.2008
Сообщений: 1,865
04.08.2011, 14:02     Устал искать баг
Цитата Сообщение от hello19 Посмотреть сообщение
Можно например просто удалить вот так delete[] matrix[i]. Это строку/столбец не удалит - только освободит память, где она лежала. Но все указатели (и место в массиве под нее) останется.
каким образом это освободит память занимаемую столбцом?
Далее если предположить, что так можно освободить память, почему вы думаете, что там будет NULL?

Давайте рассмотрим пример. Для упрощения одномерный массив
C++
1
2
3
4
5
int *test = new test[6];
// разные действия над массивом
delete[]  test;
// некоторые действия
cout << test[4];
Давайте подумаем, что вернет cout и есть ли гарантия, что там NULL.
что значит test[4] ? Это значит, что у нас есть некая область памяти начинающаяся с адреса А и нам надо получить элемент соответствующего размера со смещением от этого адреса (в байтах) 4*sizeof(int). Но ты уже освободил эту память. И она может быть занята другими переменными. Соответственно по адресу (test+4) может оказаться все, что угодно.....
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru