泽飞涛,鞋垫花,网游小说阅读网
通常,我们写c++程序,new一个对象的时候,使用如下的方式:
demo* p = new demo();
而另外一种写法就是像下面这样,在new的后面加上std::nothrow
demo* p = new (std::nothrow) demo();
在我们加上std::nothrow之前,如果new一个对象时,由于种种原因导致内存申请不到,那么这时候一般来说会抛出异常。
而第二种写法的主要区别在于,当内存无法申请时,不会抛出异常,而是直接将指针置空,这样在一定程度上也提高了程序的运行效率。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
如何在没有core文件的情况下用dmesg+addr2line定位段错误
用QT制作3D点云显示器——QtDataVisualization
网友评论