gpt4 book ai didi

c++ - 通过 C++ 中的新检查返回指针

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

检查新运算符返回的指针的最佳方法是什么我看到以下类型的代码。假设我有 class Test

类型 1

Test *ptr = new Test;
if ( ptr == NULL ) {
}

类型 2

Test *ptr = new Test;
if ( !ptr ) {
}

类型 3

Test *ptr = new Test;
if ( ptr == (Test*)0 ) {
}

最佳答案

您不检查 new 是否为 null 它会抛出异常 std::bad_alloc 以防失败。
所以你处理异常。

当然,如果您没有使用 newnothrow 版本,则上述规则适用。

 try
{
Test *ptr = new Test;
}
catch (std::bad_alloc &e)
{
cout << "new Failed";
}

关于c++ - 通过 C++ 中的新检查返回指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9000539/

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