new 內存失敗如何處理

方法一:

    try
    {
        //分配內存
        int* a= new int[bigBigNum];
    }
    catch(std::bad_alloc)
    {
        //異常處理
        // 返回
    }

方法二:

    try
    {
        double *ptr=new double[1000000];
    }

    catch(bad_alloc &memExp)   
    {
        //失敗以後,要麼abort要麼重分配
        cout<<memExp.what()<<endl;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章