C++ 下
point - like
1 智能指针
template <class T>
class shared_ptr
{
public:
T & operator*() const
{
return *px;
}
T* operator->() const
{
return px;
}
private:
T* px;
long* pn;
};
2 迭代器 像一个智能指针
对 node 进行*号操作 解参考 *node 代表 链表结构体 (*node).data 代表值
仿函数 function-linke
仿函数 像函数一样 取调去调用 重载()
都继承了很奇怪的类 要在stl中才能仔细讲解
模板 class template
member template
黄色部分称为成员模板 本身他已经在模板中
外面的模板 是允许变化的 T1 T2 ,T1和T2确定后 U1 和U2 允许变化
举个例子
explicit 可以抑制内置类型隐式转换,所以在类的构造函数中,最好尽可能多用explicit关键字,防止不必要的隐式转换.
new 子类对象 指向 父类指针 是可以以的 base ptr * =new derived (可以考虑为指针上移)
智能指针可以实现这个功能
模板特化 specialization
cout<< hash() (1000) 出现hash () 临时对象 会去找特化 1000 才是真正要操作的数
偏特化
1 个数偏
2 范围偏特化
模板模板参数
C++ 11 三个主题
一
1 … 符号 参数不确定性 … 代表一小包 数据
2 循环调用 print 最后一个调用 void print()
二 auto