概述
// 1:
ssc_drva_test.cpp
void da_test_runner::runner(const char *cmd_line_args,
double duration,
sensor_uid suid,
int32_t msg_id)
{
........
ssc_connection ssc_conn([this](const uint8_t *data, size_t size)
{
handle_event(data, size);
});
....
string req_message_encoded;
req_message.SerializeToString(&req_message_encoded);
ssc_conn.send_request( req_message_encoded);
}
看下 这个 ssc_conn
ssc_connection ssc_conn(xxx) : 显示这种应该是个ssc_conn 的 变量
会调用 这个类的构造函数…
这个类的构造函数 的参数 是一个 函数
using ssc_event_cb_ts = std::function<void(const uint8_t *data, size_t size, uint64_t ts)>;
这种是定义了 函数指针,名字是 ssc_event_cb_ts
构造函数的参数 是一个 函数,所以,我们要传入函数指针
看下 ssc_conn 后面这个是什么东西
([this](const uint8_t *data, size_t size)
{
handle_event(data, size);
});
这个是 Lambda 表达式
"this"函数体内可以使用 Lambda所在类中的成员变量
其实 这句话 就是 ssc_conn 变量的创建, c++ 中叫做 类的实例化.
后面一大推 就是 以 lambda 表达式 构成的一个函数, 传递给 ssc_event_cb_ts event_cb
如果 这个函数得到执行,真正有效的 就是这句
handle_event(data, size);
最后
以上就是傻傻大侠为你收集整理的sensor的 cpp 语法的全部内容,希望文章能够帮你解决sensor的 cpp 语法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复