C++面向对象编程之point-like classes的智能指针和迭代器、function-like classes即仿函数

1.智能指针

智能指针里面包含其他指针的形式和 委托 感觉比较像;

智能指针一定都需要重载 * 和 -> 操作符 ;

这个符号它作用后还能再继续作用下去;

 

2.迭代器: 这里主要关注 * 和 -> 操作

 

 

 

这里 * 就是要取其值,使用返回指针的data;

注意: 从上图右边也能了解到什么时候使用 "." 和 "->" , "." 是在 "对象."  ,"->"是在"对象地址->";

其实指针才使用 -> 调用,指针就是地址,所以地址也是 -> 调用

 

3.function-like classes

 任何东西可以接受 () 这个操作符,我们就叫其为像函数或者仿函数

 

 

4.unary_function和 binary_function

unary_function<T, T>,它是一个操作数

binary_function<T, T, T>,它是两个操作数

他们内存大小理论都是0,但是实际可能是1

posted @ 2022-05-11 20:32  acwarming  阅读(37)  评论(0编辑  收藏  举报