C++中new操作符是如何找到类相应的构造函数以产生一个对象
1.C++中new操作符是如何找到类相应的构造函数(函数地址)以产生一个对象?
eg.
class A
{
public:
A();
~A();
};
A* a=new A();
c++ new
[解决办法]
那是编译器干的事,大致相当于
A *a = malloc(sizeof(A));
a->A(); // 对应于 new A()
a->A(1); // 对应于 new A(1)
至于你有没有定义A::A()或A::A(int)编译时是不管的,链接时才会报错。
不过对于A:A()来说,如果你自己没有定义,编译器会帮你“合成”一个,类似的还有析构函数、拷贝构造函数。
[解决办法]
查表~~~~~~