記憶體不足
std::nothrow
可以判斷若記憶體太小導致記憶體空間分配失數,會傳回nullptr。
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
int main() {
int *arr = new (std::nothrow)int[10000000000000001];
if(arr == nullptr){
cout << "記憶體配置失敗";
} else {
arr[10000000000000001] = 100;
delete[] arr;
arr = nullptr;
}
return 0;
}
執行結果
記憶體配置失敗