throwたとえば、関数で使用する場合
try {
// ...
throw MyExceptionType()
// ...
} catch(MyExceptionType& exp){ /* ... */ }
どこにMyExceptionType割り当てられますか?それはスタックにありますか?expもしそうなら、私のcatchブロックで変更しても安全ですか? 内部で他の関数を呼び出しcatchてスタックを使用するのはどうですか?
同様のケースで私は持っています:
try {
char my_array[32];
throw my_array;
} catch(char* error_string){ /* ... */ }
error_stringプロセススタックのどこかを指していますか? catchブロック内でいくつかの関数を呼び出すと、配列をオーバーランできますか?