![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
math_beginer |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 29.5.2003 Репутация: нет Всего: 1 |
Вот, точно, сделал без потоков - все работает ![]()
А вчем разница? --------------------
Метод "Кнута и Пряника" - алгоритм, описанный в известной монографии Кнута и позднее модифицированный русским программистом Пряником. |
||||
|
|||||
bel_nikita |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
to OlegsDP
Программа всегда рушится только там, где ошибка ![]() Включаете ДЕБАГ режим. Запускаете софт. Софт вылетает, типа Access Violation и т.п. В Call Stack будет находиться текущаю функция, т.е. фукция в которой произошел сбой! Смотрите параметры функции и т.п. Т.е. возможно локализовать ошибку без комментария. to math_beginer
Синхронизация нам поможет ![]() Разные треды иммеют доступ к ресурсу! А это очень плохо. Надо синхронизировать доступ |
||||
|
|||||
math_beginer |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 29.5.2003 Репутация: нет Всего: 1 |
Но ведь в данном конкретном случае это не так!!! Сам по себе конструктор работает! И что самое непонятное: Принудительно присваеваем указателю NULL (допустим даже, что при этом теряется память). ПОЧЕМУ NULL-вому указателю не может быть выделена память????? Даже пусть память не выделяется, но не работает ведь именно оператор new, до проверки выделилась память или нет программа даже не доходит!! ЗЫ Я скоро уже начну сомневаться что С++ самый надежный язык программирования ![]() --------------------
Метод "Кнута и Пряника" - алгоритм, описанный в известной монографии Кнута и позднее модифицированный русским программистом Пряником. |
|||
|
||||
bel_nikita |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
math_beginer
А в борланде проверка типа
не катит. Как я знаю ( сам борланд не юзаю ) тама генерится ecxeption bad_allocate. Так что в строку if (p==NULL ) ты уже ни как не попадешь.
А что ты понимаешь под надежностью??? С++ это скорее мощный инструмент для программирования, а надежность тут не причем Что-то мы отвлеклись от темы. Так что у тебя за проблемы? РS: Еще раз: программа рушится только там где ошибка ![]() |
||||
|
|||||
srd |
|
||||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
В программах на C++ этого делать ни в коем случа нельзя. new/delete вызывают конструктор и деструктор, а malloc/free нет.
Повторюсь, но скажу, что и в MSVC++ в случае неудачи new кидает bad_alloc, если включен любой хедер из STL, т.к. они включают стандартный заголовок <new> -------------------- Не смей читать мою подпись!!! |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |