C++中的std::nothrow使用
C++的std::nothrow使用
在 C 語言中,使用 malloc 申請內(nèi)存時,需要判斷一下是否申請成功。如果返回指針為 NULL , 則不成功。所以只需要判斷返回指針是否為空即可。
而在 C++ 中,通過 new 申請一段內(nèi)存空間時,如果不成功,其返回的是一個異常 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;
}總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
C語言?超詳細(xì)介紹與實現(xiàn)線性表中的無頭單向非循環(huán)鏈表
無頭單向非循環(huán)鏈表:結(jié)構(gòu)簡單,一般不會單獨用來存數(shù)據(jù)。實際中更多是作為其他數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu),如哈希桶、圖的鄰接表等等。另外這種結(jié)構(gòu)在筆試面試中出現(xiàn)很多2022-03-03
C++讀寫(CSV,Yaml,二進(jìn)制)文件的方法詳解
為了處理文件,我們可以利用fstream庫。在這個庫里面有三種數(shù)據(jù)類型:ofstream,ifstream,fstream。本文將利用這個庫實現(xiàn)不同文件的讀寫操作,需要的可以參考一下2022-05-05
2~62位任意進(jìn)制轉(zhuǎn)換方法(c++)
下面小編就為大家?guī)硪黄?~62位任意進(jìn)制轉(zhuǎn)換方法(c++)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06

