数组越界造成的std::bad

    技术2022-06-10  36

    std::bad_alloc异常一般是在new的时候因为内存不足而引起的

     

    但是数组的越界也会导致在越界代码后进行new,ifstream,ofstream等操作抛出异常

     

    比如如下代码

     

     

    int *p = new int[0]; for(int i = 0; i < 10; ++i) p[i] = 0; ofstream ofile("test.txt", ios::out); ofile.close(); return 0; 

     

    执行到ofstream的时候就出现std::bad_alloc异常


    最新回复(0)