gpt4 book ai didi

c++ - 新构造函数抛出异常后的对象指针状态 - C++

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

在 C++ 中,当新类构造函数抛出异常时,对象指针的状态是什么?以下面的代码为例:

CMyClass * pobjMyClass = (CMyClass *)0xA5A5A5A5;

try
{
pobjMyClass = new CMyClass(); // Exception thrown in constructor
}
catch ( ... ) {}

当这段代码执行时,抛出异常后,pobjMyClass 的值是多少?指向 CMyClass 的无效实例的指针、0xA5A5A5A5NULL、一些随机的未初始化值,或其他什么?谢谢。

最佳答案

由于在赋值发生之前抛出了异常,因此 pobjMyClass 将是之前的任何内容 - 在您的情况下为 0xa5a5a5a5。

关于c++ - 新构造函数抛出异常后的对象指针状态 - C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4318494/

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