用new会调用类的构造器函数,如果分配内存失败会抛出异常,那么你的后面的判断语句不会执行。如果分配正确,你的判断的条件总是true。所以同上面的,你的代码本身语法没有问题,但是是多余的。
似乎楼上只有几个人说对了。C++中使用new分配内存,失败时不会返回NULL,会抛出异常。因此楼主的代码中判断null的部分根本不会被调用。如果希望改变new的缺省行为,让它在分配失败时返回null ,就要使用no throw new,即 西瓜的忧伤 所使用的 new(std::nothrow) 方法.
理论上来讲是废代码, new 失败时默认throw excetion, 除非显示指定nothrow.
64,654
社区成员
250,484
社区内容
加载中
试试用AI创作助手写篇文章吧