const对象为什么还是会自动调用非const构造函数和非const析构函数,不是说const对象只能调用const函数吗
const对象为什么还是会自动调用非const构造函数和非const析构函数,不是说const对象只能调用const函数吗
收起
我的理解是:虽然构造、析构无法加const即不是const成员函数,但const对象能调用它们,是因为const对象(假设是class A的)首先你得创建,创建成功了才可以说是const对象。
而这个类对象既然要创建,那肯定有A的成员变量,所以构造函数中对这些成员变量初始化即改变了成员变量的值,所以构造无法加const。虽然这次改变了const对象的成员变量,但经此过后,const对象才算真正创建。
而构造就一次,接下来不就无法被改变了吗,即相当于const了。
析构同理。
报告相同问题?