2.实例化

以下现象是为什么?

    //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);
  1. M_CLASS m_class;
  2. M_CLASS m_class = M_CLASS;

编译器对二者处理的不同之处在于:前者通过构造函数直接对对象m_class中的成员变量进行赋值,而后者则是先初始化一个临时变量并对其赋值,然后将该临时变量赋值给m_class,然后销毁这个临时变量。

猜你喜欢

转载自blog.csdn.net/qq_40976407/article/details/113176245
2.
今日推荐