C++中的std::nothrow使用

 更新时间:2023年08月08日 11:07:40   作者:distant1219  
这篇文章主要介绍了C++中的std::nothrow使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

C++的std::nothrow使用

在 C 语言中,使用 malloc 申请内存时,需要判断一下是否申请成功。如果返回指针为 NULL , 则不成功。所以只需要判断返回指针是否为空即可。

而在 C++ 中,通过 new 申请一段内存空间时,如果不成功,其返回的是一个异常 std::bad_alloc ,需要用 try catch 去捕获这个异常来判断成功与否。

而C中的判断方式是很方便的,为了使用和C中一样的方式,于是提出了 std::nothrow 的方式。字面意思就是不要抛出异常,即如果申请失败,返回空指针即可。

使用方式如下:

int* val = new (std::nothrow) int[10];
Student* stu = new (std::nothrow) Student('Jack');

C++error C2039: “cout“: 不是“std“的成员

case1:

包含文件次序错了。改为`

#include "stdafx.h"
#include "iostream"
.....

case2:

没有添加命名空间std所在的头文件iostream

正确写法:

#include "stdafx.h"
#include <iostream>
int main()
{
    std::cout << "hello world!I'm C++." << std::endl;
    system("pause");
    return 0;
}

#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
    cout << "hello world!I'm C++." << endl;
    system("pause");
    return 0;
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • ipv6实现udp编程示例

    ipv6实现udp编程示例

    这篇文章主要介绍了ipv6实现udp编程示例,需要的朋友可以参考下
    2014-03-03
  • C语言 超详细介绍与实现线性表中的无头单向非循环链表

    C语言 超详细介绍与实现线性表中的无头单向非循环链表

    无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。另外这种结构在笔试面试中出现很多
    2022-03-03
  • C++实现旅馆住宿管理系统

    C++实现旅馆住宿管理系统

    这篇文章主要为大家详细介绍了C++实现旅馆住宿管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • C++图文并茂讲解继承

    C++图文并茂讲解继承

    继承是C++面向对象编程中的一门。继承是子类继承父类的特征和行为,或者是继承父类得方法,使的子类具有父类得的特性和行为。重写是子类对父类的允许访问的方法实行的过程进行重新编写,返回值和形参都不能改变。就是对原本的父类进行重新编写,但是外部接口不能被重写
    2022-05-05
  • C++读写(CSV,Yaml,二进制)文件的方法详解

    C++读写(CSV,Yaml,二进制)文件的方法详解

    为了处理文件,我们可以利用fstream库。在这个库里面有三种数据类型:ofstream,ifstream,fstream。本文将利用这个库实现不同文件的读写操作,需要的可以参考一下
    2022-05-05
  • C++ 利用硬件加速矩阵乘法的实现

    C++ 利用硬件加速矩阵乘法的实现

    这篇文章主要介绍了C++ 利用硬件加速矩阵乘法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • C语言异或校验算法的项目实现

    C语言异或校验算法的项目实现

    异或校验算法(XOR校验)是一种简单的校验算法,用于检测数据在传输或存储过程中是否发生了错误,本文主要介绍了C语言异或校验算法的项目实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • C语言分治法实现归并排序

    C语言分治法实现归并排序

    这篇文章主要为大家详细介绍了C语言实现归并排序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • 2~62位任意进制转换方法(c++)

    2~62位任意进制转换方法(c++)

    下面小编就为大家带来一篇2~62位任意进制转换方法(c++)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • C 语言环境设置详细讲解

    C 语言环境设置详细讲解

    本文主要介绍C 语言环境设置,在不同的系统平台上,C语言的环境设置不同,这里帮大家整理了Liunx, UNIX,Windows 上安装C语言环境,有开始学习C语言的朋友可以参考下
    2016-08-08

最新评论