在C++ Primer中提到,new操作右两个版本:
T * t = new T();//分配单个T对象的指针
T * t = new T[8];//分配特定维数和类型的数组
先不考虑数组,对于低一个版本,我们定义两个对象:
T1 * t1 = new T1(); //给t1赋一个地址值,仅仅是这样吗?
T2 * t2 = new T2(); //给t2赋一个地址值,仅仅是这样吗?
应该说,t1,t2是两个指针变量,他们没有什么区别,那么
t1->memoft1();//->操作符根据什么找到memeoft1呢?
好像是这样吧:
new操作符相当于这样一个函数:
new操作函数
{
给对象分配内存;
以某种方式把对象成员的首地址作个标记;//这样->才能找到呀!
return 首地址;
}
hehe, Right? I want to know ! It is my Guesse!!