随笔分类 -  第十三章:拷贝控制

摘要:13.5动态内存管理类1.某些类需要自己进行内存分配,这些类一般来说必须定义自己的拷贝控制成员来管理分配的内存。2.如果没有可用空间,vector就会重新分配空间,且将已有元素移动(或拷贝,但这里是移动)到空间中,释放旧空间,并添加新元素。 13.6对象移动13.6.1右值引用1.我们可以将一个co 阅读全文
posted @ 2018-08-03 10:20 Lucky小黄人^_^ 阅读(540) 评论(0) 推荐(0)
摘要:13.2控制拷贝和资源管理1.如果类的每个对象相互独立,不共享除静态成员以外的元素,那么称之为类值的;如果如果类的每个对象不是相互独立,共享了除静态成员以外的元素,那么称之为类指针的。2.大多数赋值运算符组合了析构函数函数拷贝构造函数的工作,赋值运算符还必须考虑自赋值的正确性。3.类指针的类最好是用 阅读全文
posted @ 2018-08-03 10:17 Lucky小黄人^_^ 阅读(112) 评论(0) 推荐(0)
摘要:13.1.2 拷贝赋值运算符1.拷贝赋值运算符就是重载赋值运算符调用operaotr =;如:Foo& operator = (const Foo&);返回值必须为引用类型2.拷贝赋值运算符会将右侧运算符对象的每个非static成员赋予左侧对象,静态数据成员是公有的无须拷贝3.只有整形常量数据成员才 阅读全文
posted @ 2018-08-03 10:10 Lucky小黄人^_^ 阅读(227) 评论(0) 推荐(0)
摘要:1.拷贝构造函数也是一个构造函数,用来构造对象,只有在对象定义时起作用,其第一个参数是自身类型的引用,其他任何参数均带有默认值.(如果第一个参数不是引用类型,因为构造拷贝对象时必须调用拷贝构造函数,那么连拷贝构造函数都必须调用拷贝构造函数,结果可想而知,调用永远也不会成功) 2.如果我们没有为一个类 阅读全文
posted @ 2018-08-03 10:06 Lucky小黄人^_^ 阅读(468) 评论(0) 推荐(0)