Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Вариант неплох, но ?! 23.07.01 16:08 Число просмотров: 908
Автор: c0x@mail.ru Статус: Незарегистрированный пользователь
|
Ну ты опять нагородил, с чего это ты взял, что твой код будет работать корректно, если например по некоторым неизвестным причинам ( аппаратный сбой, запись другим куском кода значения не по тому адресу, etc... ), значение this из "хорошего" станет "не очень", и твое творение:
> > >> if(protect!=0x666) throw a;
или что тоже самое:
> if(ID == &idPlace) return 1;
или твои хваленые 128-ми битные сигнатуры которые еще считать надо на лету ;)
будет постоянно генерировать аппаратное исключение - доступ по несуществующему физическому адресу?
Лучше уж тогда если имеем дело с массивом, а на практике это чаще всего, то перегружаем оператор [ ] и все дела. Даже один объект можно представить как массив из одного элемента. Или написать класс "умного" указателя с перегрузкой оператора доступа ->.
А вот насчет аппаратных сбоев и не только есть такие замечательные апишные ф-ии в вин32:
IsBadCodePtr
IsBadReadPtr
IsBadWritePtr
|
|
|