Здравствуйте, ilejn, Вы писали:
I>Я тут рассматривал главу 14.2.1 "Производные исключение" I>у Страустрапа и понял, что не понимаю одной базовой вещи.
I>Есть у нас, согласно книжке, I>некий I>class int_overflow{ I>const char *op; I>public: int_overflow(cont char *p){op=p} I>/*...*/ I>}; I>с которым мы поступаем вот так I>int add() I>{ I> /*...*/
I> if(/*...*/) I> throw int_overflow("+");
I> /*...*/ I>}
I>Так вот, строка с плюсом отведена на стеке, I>и когда мы попытаемся анализировать исключение, I>мы обратимся к довольно странному куску стека, I>который скорее свободен, чем занят.
I>В каком месте своих рассуждений я ошибаюсь?
Это не цепэпэ, а простой си. Строка будет не на стеке, а в сегменте данных.