目录
内存管理
使用“复制-交换”实现赋值运算符
class_type& operator=(const class_type& rhs) {
if (this != class_type) {
class_type temp(rhs);
swap(*this, rhs);
}
return *this;
}
// 复制交换考虑异常安全
模板
类型推导
- auto自动类型推导会去掉引用和cv限定符
- decltype则不会但是会有代码冗余
- decltype(auto)即可以推导同时保留引用和cv限定符,同时减少代码冗余
- 常用于函数返回值
变量模板
template <typename T>
T value_name = T(3.5555);
float value = value_nale<float>;