C++ 回调函数的使用


首先我们定义一个回调函数

// 这里我们定义一个回调函数用于不断监听客户端发送过来的数据)、
typedef void (*Receive)(std::string);

然后我们定义一个类

// 自定义socket相关的包
class socketUtil {
public:
    // 这里我们初始化socket连接,当有消息发送的时候会触发回调函数
    static void  socketInit(Receive receive);

};

这个类里面触发一下

//            test(recv_buf);
            receive(recv_buf);

最后我们的主函数调用我们定义的函数并触发回调事件

// 窗口点击事件
void Chat::startService() {
    // 创建一个服务对象
   socketUtil::socketInit(newDataRead);

}


// 有新数据
void Chat::newDataRead(std::string data) {
    qDebug() << "新数据" << QString::fromStdString(data);
}

文章作者: 小游
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小游 !
  目录