|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.11.2011, 09:31 | #1 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Динамическое выделение памяти , realloc.
Вот есть такой участок кода...
Код:
Однако при запуске я получаю ошибку... Но если сделать так: Код:
|
02.11.2011, 10:02 | #2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
А что в "подробностях"?
Откуда Вы знаете, что проблема возникает в getAnyMemory - ведь после realloc ничего не выводится? Хотелось бы всё-таки уточнить, как объявлен и чем инициализирован pArray. |
02.11.2011, 10:35 | #3 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Видите ли, я немного протестил свой код и выяснил, что ошипка возникает именно в getAnyMemory().
Ну а выделяется память так.. Код:
|
02.11.2011, 10:41 | #4 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Так что в "подробностях проблемы"? Можно ли вывести, что возвращает realloc, или программа падает раньше?
И включена ли оптимизация при компиляции кода? Теоретически, второй вариант оптимизатор мог как-нибудь по-хитрому соптимизировать. |
02.11.2011, 14:03 | #5 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
В первом случае - нельзя. Падает раньше.
А вот во втором случае всё работает стабильно. |
02.11.2011, 16:14 | #6 | |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
Цитата:
Код:
Ищете информацию по C++?
cplusplus.com |
|
02.11.2011, 16:27 | #7 |
Форумчанин
Регистрация: 02.02.2010
Сообщений: 599
|
Короче, покажите весь код, если он не засекречен.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
|
03.11.2011, 09:36 | #8 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Ctrl, нет. count - текущее количество элементов. size - текущий размер ... ну.. массива, скажем так. В случае если память исчерпана, то выделяется дополнительная память ещё для одного элемента.
Syuf, весь код покажу позже - сейчас возможности нет. |
03.11.2011, 10:20 | #9 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Что будет, если а) убрать inline; б) после этого написать unsigned int retVal = (unsigned int)(realloc(pArray , currentSize())); std::cout << retVal;
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Указатели, динамическое выделение памяти, работа с файлом, в C++. | Lexa1208 | Помощь студентам | 0 | 13.02.2011 19:17 |
динамическое выделение памяти. Turbo pascal | AHD | Помощь студентам | 2 | 10.12.2010 14:27 |
Динамическое выделение памяти, как лучше? | Пепел Феникса | Общие вопросы по программированию, компьютерный форум | 10 | 11.03.2010 09:44 |
Динамическое выделение памяти под массивы | Артем125 | Общие вопросы C/C++ | 4 | 07.04.2009 09:52 |
Динамическое выделение памяти | FW-TOT | Общие вопросы C/C++ | 2 | 19.12.2008 00:42 |