記憶體不足

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;
}
執行結果
記憶體配置失敗

results matching ""

    No results matching ""