C++中的std::nothrow使用
C++的std::nothrow使用
在 C 語言中,使用 malloc 申請內(nèi)存時(shí),需要判斷一下是否申請成功。如果返回指針為 NULL , 則不成功。所以只需要判斷返回指針是否為空即可。
而在 C++ 中,通過 new 申請一段內(nèi)存空間時(shí),如果不成功,其返回的是一個(gè)異常 std::bad_alloc ,需要用 try catch 去捕獲這個(gè)異常來判斷成功與否。
而C中的判斷方式是很方便的,為了使用和C中一樣的方式,于是提出了 std::nothrow 的方式。字面意思就是不要拋出異常,即如果申請失敗,返回空指針即可。
使用方式如下:
int* val = new (std::nothrow) int[10];
Student* stu = new (std::nothrow) Student('Jack');C++error C2039: “cout“: 不是“std“的成員
case1:
包含文件次序錯(cuò)了。改為`
#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;
}總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C語言中isdigit()函數(shù)和isxdigit()函數(shù)的用法
這篇文章主要介紹了C語言中isdigit()函數(shù)和isxdigit()函數(shù)的用法,用來判斷字符師傅為阿拉伯?dāng)?shù)字和16進(jìn)制數(shù)字,需要的朋友可以參考下2015-08-08
排列和組合算法的實(shí)現(xiàn)方法_C語言經(jīng)典案例
下面小編就為大家?guī)硪黄帕泻徒M合算法的實(shí)現(xiàn)方法_C語言經(jīng)典案例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09
C++實(shí)現(xiàn)日期計(jì)算器詳細(xì)代碼示例
這篇文章主要給大家介紹了關(guān)于C++實(shí)現(xiàn)日期計(jì)算器的相關(guān)資料,基于C++編寫的簡單的日期計(jì)算器,供大家參考,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03

