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

Templates (composition). exception handling run-time error - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создание окон http://www.cyberforum.ru/cpp-beginners/thread632939.html
Пожалуйста подскажите, как создавать и работать с окнами.
C++ Подскажите где ошибка, или может есть другой вариант реализации кода // Упорядочить статический массив(заполненый случайными числами), чтобы в нём чередовались чётные и нечётные элементы, разницу записываем в конец массива. // Функции не использовать. const int n=10; int ar,ch,c2=0,c=0,nch,k=0,p=0; for(int i=0;i<n;i++){ ar=rand()%11; cout<<ar<<"\t"; } cout<<endl; http://www.cyberforum.ru/cpp-beginners/thread632906.html
DLL для Журнала Событий Windows C++
кто-нибудь знает подходящую DLL с пустым сообщением? Например "%s" чтобы было тупо. Очень нужна именно зарегистрированная DLL.. а пустое сообщение для того, чтобы мусор всякий не выводился о том, что не может найти код сообщения для данного источника, и чтобы я туда подставил свои данные собственно.
Аналог функции C# ReadKey() в C/C++ C++
Уважаемые форумчаре, перешол с Си шарпа на C++. Хотел бы поинтересоваться в С шарпе, я создаваю консольное приложение чтоб защитить приложение любой клавишей вводил команду Console.ReadKey(); Хочу поинтересоваться как такую фишку оформить и какой командой на C ++
C++ Проверить, есть ли слово в массиве http://www.cyberforum.ru/cpp-beginners/thread632821.html
Нужна помощь. Вообщем , есть символьный массив , пользователь вводит слово и нужно проверить есть ли это слово в массиве по стоке,столбцам или же по диагонали т.е k y e j l d t r a e s f h j k l q w e e y k i m q t b p u i p i пользователь введ допустим : keep k y e j l d t r
C++ Серийный номер по Volume Name Guid Необходимо зная аппаратный серийный номер накопителя и его pid/vid узнать Volume Name Guid или наоборот, зная букву диска и Volume Name Guid узнать серийный номер. подробнее

Показать сообщение отдельно
Leeto
7 / 7 / 0
Регистрация: 23.12.2011
Сообщений: 372
Записей в блоге: 1
04.08.2012, 20:26  [ТС]     Templates (composition). exception handling run-time error
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
Эксепшны от Array стек перехватывать не должен. Он должен их вообще не допускать. Если где-то вылетел эксепшн у Array, то это или не проблема стека (память закончилась или что там ещё), или стек где-то что-то не уследил и пишет не по валидному индексу. Да, с точки зрения Array это исключительная ситуация, но с точки зрения стека — нет: индексы генерирует сам стек, а не его пользователь, а значит стек может следить за их правильностью; если вылетело исключение от Array внутри, это значит стек не уследил и это баг, а не исключительная ситуация, его надо исправлять, а не обрабатывать.

У стека самого по себе может приключиться две беды: или мы делаем pop() пустого стека (в таком случае мы внутри ничего не трогаем и ругаемся исключением), или (в случае фиксированного массива, выделенного под стек) мы делаем push() в стек, который заполнен под завязку (тут мы тоже ничего не трогаем и сразу же выкидываем исключение; вот этого сейчас не делается, да, надо в push дописать соответствующую проверку). Это не проблема стека, почему его используют неправильно. Его задача в таком случае сообщить пользователю о его кривых руках и ничего при этом не поломать.
Да это все понятно это просто учебный проект я знаю что вообще не кто так не делает все STL vector юзают или другие ассоциативный или не ассоциативный контейнеры

Добавлено через 38 секунд
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение

А что не так с индексами? В первом случае мы засунули пять элементов, потом стек кончился. В стеке пять элементов, его Current имеет правильное значение 5: если бы там было больше свободного места, то следующий засунутый в стек элемент находился бы в array[5]. Во втором случае аналогично.
Так понятно что элементов 5 индек то от 0 до 4

поэтому 4 должно быть

Добавлено через 3 минуты
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение


А что не так с индексами? В первом случае мы засунули пять элементов, потом стек кончился. В стеке пять элементов, его Current имеет правильное значение 5: если бы там было больше свободного места, то следующий засунутый в стек элемент находился бы в array[5]. Во втором случае аналогично.
он подлец видишь как заканчивает Push() он currect в 5 ставить хотя макс индекс должен быть 4 поэтому и приходиться извращаться там GetElement(m_currect - 1) -> писать хотя по нормальному надо GetElement(m_currect ) так написать

у меня по заданию короче написано что
Make sure the current index is not changed when the Array class threw an exception.
Типа Убедитесь что коррент индекс не меняется когда threw ловит эксепшен

А он подлец меняет !

вот задание целиком если кому интересно
Миниатюры
Templates (composition). exception handling run-time error  
 
Текущее время: 09:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru