后置自增

C++知识点积累(2)

点点圈 提交于 2019-12-17 13:00:26
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1 如果出于某些原因,需要在const成员函数中修改某一个或几个成员,那么可以将需要修改的成员声明为mutable,例如 class A { public: int m_cannotBeModified; mutable int m_needToBeModified; void ModifyMutable() const { m_needToBeModified = 1; //合法 m_cannotBeModified = 1; //不合法 } }; 2 如果一个类没有显式声明构造函数,拷贝构造函数,赋值运算符,析构函数,编译器会相应地合成一个,如果类显式定 义了任何一个构造函数,包括拷贝构造函数,编译器就不会再合成构造函数。 3 要阻止一个类对象拷贝或赋值,可以声明一个简单的基类,基类中将拷贝构造函数和赋值运算符声明为private,这样其派生类的拷贝或赋值操作在编译期就可以被检查出来。例如: class A { protected: A(){} ~A(){} private: A(const A& a){} A& operator=(const A&a){} }; class B : public A { }; int main() { B b; //B b1(b); //编译不通过 //B b2 = b;