摘要: #include<iostream> #include<array> template<typename T,size_t S> class Array { private: T m_data[S]; public: constexpr int Size()const { return S; } T 阅读全文
posted @ 2023-11-09 20:06 iu本u 阅读(17) 评论(0) 推荐(0)
摘要: 三法则:如果需要构造函数一定要有复制构造函数和赋值构造函数 五法则:为了支持移动语义有增加了移动构造函数和移动赋值运算符 需要区分移动构造函数和移动赋值运算符;完全取决于所赋值的对象开始的值有没有先构造。 使用移动语义去重写复制构造函数会让它变成窃取资源是原来的对象资源便空 阅读全文
posted @ 2023-11-09 19:02 iu本u 阅读(29) 评论(0) 推荐(0)
摘要: 为了避免复制构造函数复制类而占用内存,使用移动语义去潜复制。 move(类名 other),重写复制构造函数,指的是类中初始化成员变量时可以使用move,其他时候使用的是右值引用 或者用右值引用传参重写复制构造函数:类名&& 使用std::move去代替右值引用的参数赋值 阅读全文
posted @ 2023-11-09 18:41 iu本u 阅读(21) 评论(0) 推荐(0)