Форум программистов, компьютерный форум 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 узнать серийный номер. подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
04.08.2012, 20:16     Templates (composition). exception handling run-time error
Эксепшны от Array стек перехватывать не должен. Он должен их вообще не допускать. Если где-то вылетел эксепшн у Array, то это или не проблема стека (память закончилась или что там ещё), или стек где-то что-то не уследил и пишет не по валидному индексу. Да, с точки зрения Array это исключительная ситуация, но с точки зрения стека — нет: индексы генерирует сам стек, а не его пользователь, а значит стек может следить за их правильностью; если вылетело исключение от Array внутри, это значит стек не уследил и это баг, а не исключительная ситуация, его надо исправлять, а не обрабатывать. Ну или это действительно исключительная ситуация, но не для стека: он же не знает, что надо делать, если память кончилась.

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


А что не так с индексами? В первом случае мы засунули пять элементов, потом стек кончился. В стеке пять элементов, его Current имеет правильное значение 5: если бы там было больше свободного места, то следующий засунутый в стек элемент находился бы в array[5]. Во втором случае аналогично.
 
Текущее время: 11:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru