struct和class选择

-
如果你的类型主要是一堆公开的数据,用 struct。
-
如果你的类型有私有状态和公有接口,用 class。
移动语义(c++11引入)
拷贝构造函数
拷贝构造函数是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象,**他能确保新对象与原对象内容相同但内存独立,修改新对象不会影响原对象。**拷贝构造函数通常用于:
-
通过使用另一个同类型的对象来初始化新创建的对象。
-
复制对象把它作为参数传递给函数。
-
复制对象,并从函数返回这个对象。
cpp
ClassName(const ClassName& other);
当你的类包含动态资源(指针、文件句柄等)时,必须自己写拷贝构造函数实现深拷贝,否则默认的浅拷贝会导致内存泄漏或双重释放。
和构造函数的区别
