C++ 当中new 的返回值是什么

比如char *p=new char;

这里new的返回值是不是就是一个指针变量

new还有其他的返回值吗

new不是返回什么值..是对象声明关键字..
比如char *p=new char;
这个的意思是声明一个char的对象,将他的地址赋值给char类型的指针P..
其他的诸如类实例的声明等也是使用new,意思也是一样的,.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-04
new MyClass 返回的是MyClass的指针。 创建成功将地址以MyClass *的形式返回,创建失败则返回NULL。

具体可以用代码来测试:

#include <iostream>
#include <typeinfo>
using namespace std;

int main(){

cout << typeid(new MyClass()).name() << endl;

return 0;
}

//结果为 class MyClass *

Press any key to continue...

第2个回答  推荐于2016-04-25
申请空间的,成功了返回空间首地址,失败了返回NULL
所以你最好判断一下 if(p==NULL){ //出错处理}本回答被提问者采纳
第3个回答  2008-11-26
是的,返回的是一个地址的值。并赋给一个指针
第4个回答  2019-02-06
在C++中
if(!p)
等价于if(p==NULL)
if(p)
等价于
if(p!=NULL)
相似回答