c++new失败地址是什么
时间: 2023-11-27 12:03:15 浏览: 42
当C++中使用new操作符分配内存失败时,new操作符会返回一个空指针nullptr。这是因为new操作符在分配内存时,需要向操作系统申请一段连续的内存空间,如果操作系统没有足够的内存可供分配,那么new操作符就会失败,返回一个空指针。因此,我们通常在使用new操作符时,需要检查返回的指针是否为空,以确保内存分配成功。
相关问题
C++中new的返回值是什么类型
在C++中,new的返回值是指向所分配内存的指针,该指针指向的类型与new后面的类型相同。如果new请求失败,则返回空指针。例如:
```c++
int* p = new int(87); // 返回指向int类型的指针
double* q = new double(3.14); // 返回指向double类型的指针
char* r = new char[10]; // 返回指向char类型数组的指针
if (r == nullptr) {
// new请求失败,返回空指针
}
```
c++ 判断new成功还是失败
如果您使用了标准的new操作符,那么当内存分配成功时,new将返回指向新分配内存的指针。如果内存分配失败,则会抛出std::bad_alloc异常。因此,您可以通过检查new操作符是否抛出异常来判断内存分配是否成功。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)