1. 说明
- 这个主要是回调函数类型声明吧
- 这个文件没有类,主要是一些声明和类型定义
- 分两个命名空间,muduo和net
2. muduo命名空间
1. 声明
- using std::placeholders::_1;
- C++11新特性:占位符,一般和bind联合使用.bind的时候有参数的话,之前是直接传变量,有占位符后,就可以在用到时候再穿参数
2. 函数
-
get_pointer(…)
- 获得智能指针的裸指针,有两种重载版本
-
down_pointer_cast(from)
- 转换类型,返回转换后的类型
- 使用到了static_pointer_cast,实现shared_ptr之间的转换,基类不需要虚函数
3. net命名空间
1. 声明
- Buffer类
- TcpConnection类
- void defaultConnectionCallback(const TcpConnectionPtr& conn);
- void defaultMessageCallback(const TcpConnectionPtr& conn, Buffer* buffer, Timestamp receiveTime);
- 以上两个类型只有声明,没有定义
2. 类型定义
- TcpConnectionPtr
- TcpConnection的智能指针
- TimerCallback
- void f()类型函数
- ConnectionCallback
- CloseCallback
- WriteCompleteCallback
- 以上三个都是void f(const TcpConnectionPtr&)类型函数
- HighWaterMarkCallback
- void f(const TcpConnectionPtr&, size_t)类型函数
- MessageCallback
- void f(const TcpConnectionPtr&,
Buffer*,
Timestamp)类型函数
- void f(const TcpConnectionPtr&,
本文详细介绍了C++11中引入的占位符和bind结合使用的方法,以及智能指针的高级操作,如裸指针获取、类型转换等。同时,文章还展示了如何在muduo和net命名空间下定义和使用多种类型的智能指针和回调函数。
196

被折叠的 条评论
为什么被折叠?



