new其实就是告诉计算机开辟一段新的空间,但是和一般的声明不同的是,开辟的空间在堆上,而一般声明的变量存放在栈上
所以在函数中通过new的方式定义一个对象,再将对象的地址进行返回是可以的,编译器并不会报错
using namespace std;
class A
{
private:
int n;
public:
A(int m):n(m)
{ }
~A(){}
};
def test()
A* c = new A(1);
return c