gpt4 book ai didi

c++ - 抛出的对象分配在哪里?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:54:32 25 4
gpt4 key购买 nike

<分区>

例如,当我在函数中使用 throw

try {
// ...
throw MyExceptionType()
// ...
} catch(MyExceptionType& exp){ /* ... */ }

MyExceptionType 分配在哪里?它在堆栈上吗?如果是这样,在我的 catch block 中修改 exp 是否安全?在 catch 中调用一些其他函数并使用堆栈怎么样?

在类似的情况下,我有:

try {
char my_array[32];
throw my_array;
} catch(char* error_string){ /* ... */ }

error_string 是否指向进程堆栈中的某处?如果我在 catch block 中调用一些函数,我可以遍历数组吗?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com