读书人

C++中new操作符是怎么找到类相应的构造

发布时间: 2013-03-12 11:19:35 作者: rapoo

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()来说,如果你自己没有定义,编译器会帮你“合成”一个,类似的还有析构函数、拷贝构造函数。

[解决办法]
查表~~~~~~

读书人网 >C++

热点推荐