相关疑难解决方法(0)

异常对象在哪里有空间,堆或堆栈,以及如何在不同的类中访问它?

最近一位采访者问我C++中的异常对象在哪里分配,堆栈还是堆栈?我不确定,但我回答堆栈,因为我认为没有"新"或"malloc".这是对的吗?

然后他一直问我,如果它在堆栈上,假设A类抛出异常对象,让我们说"e",B类抓住"e".由于"e"在A的堆栈上,那么B如何能够访问这个"e"?

我对第二个问题不是很清楚.任何人都可以给我一些示例代码,显示"A类投掷e和B级抓住它"?另外,我猜B可以通过复制值或地址来捕获e但是访问者只是拒绝了我的答案而没有给我正确的答案,那么正确的答案是什么,是否有任何机制可以确保类对象可以捕获来自其他类对象的异常?谢谢〜

c++ memory heap stack exception

5
推荐指数
1
解决办法
1692
查看次数

标签 统计

c++ ×1

exception ×1

heap ×1

memory ×1

stack ×1