摘要: 若类中有资源在构造函数中创建,并在析构函数中释放,此时需要显式定义拷贝构造、赋值,析构等操作,若在程序没有显示声明并定义时,会被隐式生成,对于不包含联合体的类,隐式生成的拷贝构造函数和赋值运算在执行时,会按成员对象依次复制,隐式生成的析构函数为空 如下面的类T管理资源int* class T{ pu 阅读全文
posted @ 2024-10-31 17:44 sgqmax 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 类的数据类型成员 C++中,在类模板中用typedef定义的数据类型称为内嵌类型nested type template<typename T> class MyTraits{ public: typedef T mytype; }; 如下,使用内嵌类型在类外定义变量 typename MyTrai 阅读全文
posted @ 2024-10-31 17:39 sgqmax 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 为类所设计的转移语义拷贝构造函数和转移语义赋值运算符使得临时对象有了将资源直接转移给另一个对象的能力,从而避免了内存分配、资源拷贝等深拷贝过程 作为注重效率的模板,当然要引入右值引用及相关技术,其成果就是参数完美转发模板 右值引用 左值和右值 左值代表一块存储空间,可以接收和保存数据,而右值仅代表数 阅读全文
posted @ 2024-10-31 17:37 sgqmax 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 数据类型给程序设计带来的困扰及解决方案 int maxt(int, int); double maxt(double, double); 若有一种占位符T,能够代替类型,便可以简化代码的冗余编写 T maxt(T,T); C++模板 模板声明如下 template<typename T1, ...> 阅读全文
posted @ 2024-10-31 17:34 sgqmax 阅读(172) 评论(0) 推荐(0) 编辑