很多文件程序会假设new总是会成功。他们的理由是,如果new失败了,这意味着文件内存量非常低,这样情况就非常糟糕了。这是一个无法预知的状态,因为不知道程序在这种情况下可能做什么。
默认情况下,如果new失败了,程序会终止。在许多程序中,这种行为是可以接受的。当new因为没有足以满足请求的内存而抛出异常失败时,程序退出。
也有不抛出异常的new版本。相反,它会返回nullptr,这类似于C语言中mallocO的行为。当然,仍然要面对抛出异常版本同样的问题——如果结果是nullptr怎么办?编译器不要求检查结果,因此new的nothrow版本可能会导致除抛出异常的版本遇到的bug之外的其他bug。
关于TeamDoc软件:
TeamDoc是基于服务器/客户端架构的轻量级文件管理软件。TeamDoc将文件集中加密存储在您单位自己的服务器中,员工使用TeamDoc客户端访问服务器,从而获得与自己权限相关的权限:登入后与“我的电脑”界面类似,可以看到自己该看的文件,编辑自己能编辑的文档,对于能看到的文件,还可以细分文档权限,进而做到能看不能拷,能看不能截屏等功能,多种权限灵活设置,在线协同编辑、全文搜索、日志与版本追踪,快速构建企业文档库。告别假大空,我们提供值得您选择的、易用的、可用的文档管理软件。现在就访问TeamDoc首页
TeamDoc软件界面(点击可放大)
版权所有:南京网亚计算机有限公司,本文链接地址: 当文件内存分配失败时