|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.06.2011, 12:21 | #1 |
Регистрация: 20.05.2011
Сообщений: 6
|
Некорректная работа, но ошибок нет
Здравствуйте. Простейшая задача - сформировать массив строк из файла. Вроде бы всё правильно, но почему-то то работает, то не работает, то вылетает. В чём может быть дело?
Код:
|
23.06.2011, 14:26 | #2 |
Пользователь
Регистрация: 20.05.2010
Сообщений: 28
|
Код:
Код:
|
23.06.2011, 15:24 | #3 |
Регистрация: 20.05.2011
Сообщений: 6
|
Вау, спасибо. А есть ещё ошибки?
P.S. Просветите меня, есть ли разница между вот этим: Код:
Код:
Обязательно ли второе - массив указателей? Можно ли обычные массивы так объявлять? |
23.06.2011, 16:12 | #4 |
C++,DirectX/OpenGL
Форумчанин
Регистрация: 09.01.2011
Сообщений: 422
|
В первом случаи это статический двойной массив, а во втором это объявления указателя на указатель.
Не обязательно. Можно статически выделить память. Что значит "обычные" массивы, а есть ли "необычные" массивы ? Код:
А потом надо Код:
Последний раз редактировалось An1ka; 23.06.2011 в 16:19. |
23.06.2011, 18:47 | #5 |
Регистрация: 20.05.2011
Сообщений: 6
|
Я имею в виду, есть ли принципиальная разница в использовании между статическим двумерным массивом и таким: int **a. Как вы говорите "объявление указателя на указатель". Но ведь, как я понимаю, так можно и массив объявить? Или тут разница в распределении памяти?
|
23.06.2011, 18:56 | #6 | |
C++,DirectX/OpenGL
Форумчанин
Регистрация: 09.01.2011
Сообщений: 422
|
Цитата:
Еще статически выделенные блоки памяти должны быть константного размера (их размер известен еще до компиляции и не меняется в процессе выполнения программы). А динамически выделенные блоки памяти могут иметь произвольный размер и их размер может определяться в процессе выполнения программы. Последний раз редактировалось An1ka; 23.06.2011 в 19:05. |
|
26.06.2011, 11:18 | #7 |
Регистрация: 20.05.2011
Сообщений: 6
|
Подниму тему.
Во время очистки памяти я пишу delete [] keyWords; Очистится ли вся память под массив или же нужно так же в цикле очищать? |
26.06.2011, 12:06 | #8 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
new выделяет память. И на каждый new требуется delete.
В Вашем случае нужно в цикле: delete[] keyWorlds[i]; И итоговый: delete[] keyWords. Последний раз редактировалось EUGY; 26.06.2011 в 12:09. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Некорректная работа WPF | _-Re@l-_ | WPF, UWP, WinRT, XAML | 0 | 19.04.2011 16:05 |
Ошибок нет ,но вывод неправельный,исправте!!! | Drago56 | Общие вопросы C/C++ | 2 | 20.12.2010 17:14 |
Некорректная работа Ucoz.ru | docbrain | WordPress и другие CMS | 7 | 31.03.2010 11:26 |
Правильно или нет вот в чём вопрос но ошибок нет... | Alexcool | Помощь студентам | 2 | 10.01.2010 13:55 |
Посмотрите кто-нибудь нет ли ошибок?! | wepoTWR | Помощь студентам | 0 | 01.12.2009 18:10 |