以下现象是为什么?
//new 可用
MyButton *btn=new MyButton;
btn->setParent(this);
btn->setText("按键1");
btn->resize(50,50);
//不可用
MyButton btn;
btn.setParent(this);
btn.setText("按键1");
btn.resize(50,50);
- M_CLASS m_class;
- M_CLASS m_class = M_CLASS;
编译器对二者处理的不同之处在于:前者通过构造函数直接对对象m_class中的成员变量进行赋值,而后者则是先初始化一个临时变量并对其赋值,然后将该临时变量赋值给m_class,然后销毁这个临时变量。