| void doExampleL() { //attempt to allocate, leave if could not CExample* myExample = new (ELeave) CExample; //new (ELeave) replaces new followed by check //do something myExample->iInt = 5; testConsole.Printf(_LIT("Value of iInt is %d. "),myExample->iInt); //delete delete myExample; } |
在这个例子中没有检查 myExample 所指的这个对象内存分配是否已经成功,而直接使用了它, new() 已经保证了内存分配操作是成功的。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-126419/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10294527/viewspace-126419/
本文探讨了C++中new操作符的使用,特别是在内存分配失败时如何处理。通过一个示例代码,展示了直接使用new操作符进行内存分配,并立即使用分配的内存,而没有检查分配是否成功。在C++中,new操作符通常会抛出bad_alloc异常,如果内存分配失败,但在此示例中使用new(ELeave),这在某些情况下可能替代了new操作后的检查。
2071

被折叠的 条评论
为什么被折叠?



